定义:将一个接口转变成客户所期望的接口,从而使本来因为接口不匹配,不能在一起工作的两个接口,可以在一起工作. 优点: - 可以让两个完全没有关系的接口可以一起工作(当然前提是需要适配器来进行处理).
- 增加了接口的透明性.具体的实现是封装在适配者中,对于客户来说是透明的.
- 提高了接口的复用性.
- 增加了灵活性.修改适配器,而不会对系统产生影响.
缺点: - 对于Java、C#等不支持多重继承的语言,一次最多只能适配一个适配者类,而且目标抽象类只能为接口,不能为类,其使用有一定的局限性,不能将一个适配者类和他的子类同时适配到目标接口.
应用场景:
- 系统需要使用现有的类,而这些类的接口不符合系统的需要.
- 想要建立一个可以重复使用的类,用于与一些彼此之间没有太大关联的一些类.
代码:
https://github.com/DewMaple/DesignMode_Java/blob/master/src/com/design_mode/AdapterPattern.java
|