Java 的适配器模式-设计模式之一 ---23中设计模式链接

搜索博客:Java设计模式:23种设计模式全面解析(超级详细)

链接:https://www.baidu.com/link?url=e1QQ5H1_aO62Kc8XO1Y6NB5YatdhOdPhbYprcN71Hs8NaedUDMtNmiOCX3OSFrYu&wd=&eqid=9693bbca000b1c59000000035d07a3ca

为便于理解,参考下面这篇文章:

标题:Java的匿名内部类

https://blog.csdn.net/weixin_37766087/article/details/92426931

 

学习设计模式的真正目的:编程时,有意识地面向接口编程,多用封装、继承、组合、多态等OOP思想,而不仅仅是死记几类设计模式。

常用的设计模式分类: 
创建型(创建一个对象):单例模式、工厂模式、抽象工厂模式 
结构型(将几个对象组织成一个结构):桥接模式、外观模式、代理模式 
行为型(多个对象间的通信):观察者模式、策略模式 
其中,工厂模式、桥接模式、策略模式有点像,放在一起理解(几个对象具有共同特征,因此继承共同的接口,然后通过工厂、桥去访问)。另外,工厂模式和外观模式(几个对象间有先后关系,是串行的,而非工厂模式中的并行,因此几个对象组合成一个外观类,通过这个外观类来访问)区别很明显,也因此放在一起理解。
 参考博客(https://blog.csdn.net/qq_14827935/article/details/78618652 )

下面这段话很难理解,慢慢来吧。。。。

很多设计模式表达了一个原则:就是封装变化:

       状态模式:封装了状态,因为状态在变化

       命令模式:封装了命令,因为命令在变化

       观察者模式:封装了观察者和被观察者,因为需要感知变化的观察者在变化

        迭代器模式:封装了容器,因为容器在变化

        。。。。。。。

        使用设计模式的时候,我们就是要找到系统中现在或者未来变化的点,把变化封装起来,这样才可以做到“开闭”原则,才可以做大针对接口编程,不针对实现编程,才可以做到松耦合设计,只有封装了变化,才能让新的变化到来的时候,原有的代码可以正常工作,而不需要重写,这才是重用。

         可以说,封装变化是一切的开始,但是,捕捉变化的能力,是需要经验去积累的,没有足够的项目经历,很难猜测系统未来会发生何种变化。如果瞎猜,封装了不会变化的因素,那么,当变化到来的时候,你会发现,你准备的接口都没能用上,这样使用设计模式所带来的成本就无法收回,我们就“吃亏”了。

        所以,在条件成熟之前,不要急于使用设计模式,否则偷鸡不成蚀把米。一个用不好设计模式,却成天把设计模式挂在嘴边,用在项目中的程序员,远远比一个不知设计模式为何物的程序员可怕的多。
原文:https://blog.csdn.net/a220315410/article/details/9305077 

适配器模式

-------------------------

            1 GOF ,Gang of Four , “四人帮”,java中存在大量的设计模式,实际上这里的四人帮就是指国外的四个专家级的编程人员为了解决指定问题,而设计出来的24种设计模式,适配器模式就是其中之一。

             2 适配器的使用场景:

 

 

仔细想了想,仿佛适配器就是用一个抽象类空实现一个借口中的不常用的一些方法,这样,另一个需要使用到该接口中的类中就可以不必去实现这些方法了,可以减少耦合,减少代码量。(这段话有点拗口)

总之:

1 有个接口,接口中有很多方法,或者后续需要添加一些新的方法

2 这个接口中的方法有部分是不常用的

3 如果直接用类或匿名内部类实现这个接口的话,必须全部实现这个接口中的方法,代码量大,且不必要

4 基于3,提出适配器模式,即用一个中间抽象类,这个抽象类称之为 适配器 ,用该适配器来空实现这个接口中的不必要的方法

5 在方法的形参中(该形参类型为接口类型),用匿名内部类的方式实现该抽象类,这样在该匿名内部类中就可以只需要实现那些常用的方法了。

适配器:Adapter, 想想电源适配器,其实就相当于中间件,作用就是实现了电脑电源和工业电压之间的电压转换。

匿名内部类: 不用显示创建一个类对象,直接new就可以,既可以用于创建普通类对象,也可以隐式实现一个接口类对象,也可以隐式实现一个抽象类的类对象。(这里表述有些问题,抽象类不可以创建对象,意思就是那个意思,具体是哪个意思,自己要揣摩,只可意会不可言传,其实还是不理解匿名内部类.............)

 

 

后记

------------------

还未想好怎么写。。。。。。。。。。

没想好的原因是因为对适配器的理解还不深,多百度吧。

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值