适配器模式与外观模式

来源:互联网 发布:windows xp gho下载 编辑:程序博客网 时间:2024/05/17 01:08

适配器模式

    客户新的需求,需要我们实现类似欧洲插座 + 电流适配器 + 美国产笔记本插头的东西,如下所示:

 

 

 

 

 

      使用适配器模式充满良好的OO设计原则:使用对象组合,以修改的接口包装被适配者;同时被适配者的任何子类,都可以配着适配器使用。需要注意:该模式是如何把客户和接口绑定,而不是和实现绑定。

 

 

2种适配器

上图是对象适配器,对象适配器利用对象组合实现适配,下面是类适配器,类适配器继承被适配者和目标类

 

 

 

2、外观模式

      让我们来看看您的家庭影院:假如要看电影,则需要打开爆米花机、开始爆米花、灯光调暗、屏幕放下、设置投影机宽屏模式、打开功效、设置为DVD,调整成环绕立体声等等,需要子系统内各个设备的多种操作,如果每个设备代表一个类,将会导致需要做很多工作后电影才可看。

 

外观模式没有“封装”子系统的类,外观只提供简化的接口,如果客户有需要,仍可直接使用子系统的类;同时外观不只是简化了接口,也将客户从组件的子系统中解耦。

 

外观和适配器可以包装很多类,但是外观的意图是为了简化接口,而适配器的意图是将接口转换成不同接口。

 

 

 

如何使用这个原则呢?

1、就任何对象而言,在该对象的方法内,我们只应该调用属于以下范围的方法:

(1)、该对象本身;

(2)、被当作方法的参数而传递进来的对象

(3)、此方法所创建或实例化的任何对象

(4)、对象的任何组件

(2)和(3)表明如果对象是调用其他的方法的返回结果,不要调用该对象的方法。

 

 

 

 

 

 

 

原创粉丝点击