设计模式一分钟之Adapter
适用场景:
将两个不相关的类组合在一起使用,需要用到Adapter模式。一个是Adaptee,一个是Adapter。
实际上,两个不相关的类想要组合在一起使用,
可以修改类的接口, 但是,如果我们不想修改接口,或者根本没有源代码,就需要使用Adapter模式。
实现方法:
有两种方法,组合composition 和 继承inheritance。
实现举例:
1. 有两个类 Square和Round,如果想要同时使用两个类,就可以新创建一个Adapter类:
上图可见,DrawAdapter继承Round, 同时在DrawAdapter类里面定义了变量square,和构造函数。通过初始化这个Adapter对象,就可以同时画圆和方形,因为DrawAdapter同时还重载了drawRound方法。
2. 如果想要两边继承:
上图说明,定义两个接口IRound 和ISquare,这样DrawAdapter就可以通过同时实现两个接口来将两个类组合起来使用。
同时在Adapter类里面定义两个构造函数,一个是Square,一个是Round。
----------------
作者微信公众号: 小强聊架构