设计模式之适配器模式(二)adapter

来源:互联网 发布:php输出内容文本格式 编辑:程序博客网 时间:2024/05/16 13:39

程序从我的资源下载。 AdapterDesignPatterns 

适配器模式(Adapter)将一个类的接口转换成客户希望的另外一个接口。Adapter模式使用原本由于接口不兼容而不能一起工作的那些类可以一起工作。

 

     程杰在《大话设计模式》一书当中使用了姚明在NBA需要翻译的例子来说明适配器模式的。因为语言有障碍,姚明需要一个翻译。这个 姚明通过翻译来工作,这个模式就叫做适配器模式。 举得例子还是比较贴切的。

     1. 适配器模式主要解决什么问题呢?

             简单地说,就是需要的东西就在面前,但不能使用,而短时间又无法改造它,于是我们就想办法适配它。 适配器的意思就是使用一个东西适合另一个东西的东西。

    2.  在软件开发中,也就是系统的数据和行为都正确,但接口不符时,我们应该考虑使用适配器,目的是使控制范围之外的一个原有对象与某个接口匹配。适配器模式主要用于希望复用一些现存的类,但是接口又与复用环境要求不一致的情况。

      在GOF的设计模式当中,对适配器模式讲了两种类型, 1. 类适配器模式2. 对象适配器模式。

       由于类适配器模式通过多重继承对一个接口与另一个接口进行匹配, 而C#, JAVA 不支持多重继承。 也就是一个类只有一个父类,所以这里主要讲的是对象适配器。(C++支持多重继承)

 3. 使用一个已经存在的类,但如果它的接口,也就是它的方法和你要求的不同的时候,就应该考虑使用适配器模式

 4. 当双方都不太容易修改的时候再使用适配器模式匹配。而不是一有不同时就使用它。