一、适配器模式
——我一直不太信任自己的记忆力,所以我把它们都写下来
大家都知道,iphone手机充电器手机端插口和android手机的不一样。在朋友家你的iphone快没电了,但是这个穷逼朋友用的是安卓手机,他的充电线我用不了,可咋整?别怕,苹果公司知道自己很偏执,但是又不能顺应潮流,所以买iphone的时候附带了一个转接头,就下面这个东西
本文要讨论的是适配器模式,它的主要作用是在新接口和老接口之间进行适配。就像上面的例子,用安卓充电器给iphone充电,那需要一个转接头(适配器)。给安卓充电器手机端插上转接头然后给iphone充电,这一刻是不是很安心!下面用代码来展示下这个适配器模式
先看看原配android充电器
/** * android充电器接口 * @author albert * */ public interface AndroidChargerInterface { public void charge(); } /** * @author albert * android充电器实现类 */ public class AndroidCharger implements AndroidChargerInterface { public void charge() { System.out.println("Android手机充电"); } } //测试类,给android手机充电 public class Test { public static void main(String[] args) { //初始化一个android充电器 AndroidChargerInterface charger = new AndroidCharger(); //开始充电 charger.charge(); } }
运行Test打印结果:Android手机充电。
现在我在朋友家,需要用朋友的android手机充电器,上面的AndroidChargerInterface接口和AndroidCharger类都是不可变的。如果想使用这一套API,那必须自己写代码解决。下面是苹果充电的接口和类
/** * iphone充电器接口 * @author albert * */ public interface IphoneChargerInterface { public void charge(); } /** * @author albert * iphone充电器实现类 */ public class IphoneCharger implements IphoneChargerInterface { public void charge() { System.out.println("IPhone手机充电"); } } /** * @author albert * 转接头(适配器) */ public class ChargeAdapter implements AndroidChargerInterface {//实现老接口 private IphoneChargerInterface charger;//传入新接口 public ChargeAdapter(IphoneChargerInterface charger) { this.charger = charger; } //接好转接头,给iphone充电 public void charge() { charger.charge(); } }
public class Test { public static void main(String[] args) { //初始化一个iphone充电 IphoneChargerInterface charger = new IphoneCharger(); ChargeAdapter adapter = new ChargeAdapter(charger); //开始给iphone充电 adapter.charge(); } }
其实,在研究设计模式的时候心里要明白设计模式都是从实际生活抽象出来的。这样我们也好理解它,毕竟设计模式是比较晦涩抽象的。这项能力的提升更有助于我们从业务到软件的一个转换。优秀的Programmer在这项能力确实比普通的码农强很多。大家一起向这个方向努力吧!
相关推荐
设计模式-适配器模式
java常用设计模式-适配器模式
设计模式-适配器模式(讲解及其实现代码)
23种设计模式--适配器模式
适配器模式 设计模式 Adapter 还请各位大S指教
设计模式--适配器模式java例子
JAVA-设计模式-结构型模式-适配器模式
适配器模式的PHP实现。大家可以参考一下。
JAVA设计模式--适配器模式借鉴.pdf
c++设计模式-结构型模式-适配器模式,其他工程,c++源码。适配器模式(Adapter)的定义如下:将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类能一起工作。
讲故事,学(Java)设计模式—适配器模式Java开发Java经验技巧共3页.pdf.zip
JAVA设计模式--适配器模式[参照].pdf
设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段...
1.当你希望使用某些现有类,但其接口与您的其他代码不兼容时,请使 2.当你希望重用几个现有的子类,这些子类缺少一些不能添加到超类中 1.符合单一职责原则 2.符
设计模式之适配器模式,简单易懂,可便于查阅
设计模式代码,简单的写了类适配器,对象适配器
cpp代码-设计模式-适配器模式