Apapter适配器和Facade外观模式.ppt

上传人:文库蛋蛋多 文档编号:2221720 上传时间:2023-02-02 格式:PPT 页数:34 大小:6.16MB
返回 下载 相关 举报
Apapter适配器和Facade外观模式.ppt_第1页
第1页 / 共34页
Apapter适配器和Facade外观模式.ppt_第2页
第2页 / 共34页
Apapter适配器和Facade外观模式.ppt_第3页
第3页 / 共34页
Apapter适配器和Facade外观模式.ppt_第4页
第4页 / 共34页
Apapter适配器和Facade外观模式.ppt_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《Apapter适配器和Facade外观模式.ppt》由会员分享,可在线阅读,更多相关《Apapter适配器和Facade外观模式.ppt(34页珍藏版)》请在三一办公上搜索。

1、欢迎大家一起讨论Adapter和Facade模式,主要内容,一些实际的例子(鸭子、人妖、Enumeration(列举))Adapter解决方法讨论Adapter一些的问题另外一个实际的例子(家庭影院)Facade解决方法使用Facade注意的原则,安徽省软件工程中心二六年十二月,设计模式Adapter(适配器),好消息!大家来挑个美女回家,真有这好事!小心“娶”个男人回家了!-她们可都是人妖网上找的,这就是我们今天要讲的适配器模式,先看看一个例子,能让男人伪装成美女,我当然能把火鸡伪装成鸭子,看我的!,鸭子的行为:呱呱叫、飞行,火鸡的行为:咕咕叫、短距离飞行,伪装后火鸡的行为:呱呱叫、飞行,看

2、我写的ManAdapter,看来关键时刻还是会露馅的,Public class ManAdapter implement Woman Man man;public ManAdapter(Man man)this.man=man;public WomanShopping()/购物 Feminize(man.ManShopping();/女性化处理 public WomanDate()/约会 Feminize(man.ManDate();/女性化处理 public Procreate()/生育 thow new UnsupportedOperationException(“我不能生育”),楼上大哥

3、很无聊,下次不理你了不过道理没讲错!,再看一个Enumeration的例子,关于Adapter的一些讨论,应用场景:为了适应对老系统的兼容,当然老系统是不作任何修改的主要是从外形上改变,实际的行为可能变化,也可能没有变化,实际的行为的变化是为了更好的伪装新老系统的接口越多,适配器就越多,可以考虑用Decorator模式设计适配器?(答案是否定的:接口的方法是变化的,且没有装饰主体)一个Adapter可以实现多个被适配对象 public class ManWomanAdapter implement Man,Woman,下面该讲Facade(外观)模式了先看看一个标准的家庭影院系列,我们通常要做

4、以下步骤,这是我们class调用图,是不是很繁琐,当然还不止这些,看完电影以后,是不是还得反向操作一遍,把他们都关掉对于听CD或收音机,这样是不是太麻烦了如果影院系统升级,你必须学会不同的操作,Facade(外观模式)正是你所需要的,你可以通过它轻松操作一个复杂的系统,进一步理解(Facade)外观,Facade的目的是简化接口,解耦客户调用和子系统的关联Adapter的目的是转换接口到目标接口,看看我们设计的家庭影院Facade,让我们看看watchMovie()和endMovie()是如何实现的,客户端调用,Facade模式的官方定义,Facade模式:为子系统的一系列接口提供一个统一接口,这个高级接口使得子系统更易于访问,Facade原则:最小化知识原则,减少对象间的交互,仅仅和最亲密的朋友说话不要在一个方法里产生对另外一个对象的调用,作一个比较,谢谢大家!,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号