`
ldwcmx
  • 浏览: 8042 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

适配器模式

 
阅读更多

         适配器模式在java中是一种常用的模式,那么这种模式的设计思想是什么呢?

         各种设计模式的书讲解的也比较多,我个人从面向对象的角度进行阐述如下:

         

        当一个类不完全符合当前需求,不能进行直接修改源码的情况下,如何才能才能达到需求呢,实际上可以在原来类型的基础上,声明一种抽象的类型,这种抽象的类型是对原来类型的进一步抽象,这中更加抽象的类型我们通过接口来定义,那么这种抽象类型的具体实现通过继承原有的类并实现此接口,这样这个具体实现类就是原类的适配器,它扩展了原类的能力而不修改原来的类,并且复用了原类的代码(通过继承实现)。这种实现方式实际上是类的适配器模式。

 

        还有一种是对象的适配器模式,它其实也是对源类的扩展,并实现代码复用,它的代码复用不是通过继承方式实现的,而是通过关联关系实现的,也就是说目标类中声明一个源类的实例变量来达到复用源类。

 

       这两种实现方式优缺点:

 

      类的实现方式: 优点是可以通过覆盖源类的方法从而改变源类的某些行为

                             缺点是它是通过继承的方式实现适配的,那么就不能适配源类的子类

      对象的实现方式:优点是可以适配源类和其所有子类,容易增加新的行为

                              缺点是不能改变源类的行为

                             

 

      

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics