适配器模式(包装器模式):
1、定义:讲一个接口转换成客户希望的另一个接口,适配器可以使接口不兼容的那些类可以一起工作。
2、分类:
(1)类的适配器模式:用于对类进行分配
(2)对象的适配器模式:用于对对象进行包装
(3)接口的适配器模式(默认的适配器模式):用于对接口抽象话
3、三个角色:
(1)源角色(电源):需要适配的目标类或接口
(2)目标角色(计算机的电源接口):期望得到的接口
(3)适配器角色(计算机电源变压器):用于把源角色转换成目标角色
4、使用
(1)系统需要使用现有的类,而这些类的接口不符合系统的需要
(2)想要建立一个可以重复使用的类,用于与一些彼此之间没有太大关联的一些类,包括一些可能在将来引进的类一起工作
类的适配器模式:用于对类进行适配,类转换成另一接口时
对象识破武器模式:用于对接口抽象化,类转换成满足另一接口时
接口的适配器模式:用于对接口抽象化,当不希望实现一个接口的所有方法(即接口---抽象类实现接口--实体类继承抽象类,并覆盖相应的自身要使用方法)
适配器模式的优点:
(1)将目标类和适配者类解耦,通过引入一个适配器类来重用现有的适配者类,而无需修改原有的代码
(2)增加了类的透明性和复用性,将具体的实现封装在适配者类中,对于客户端来说是透明的,而且提高了
适配者的复用性。
(3)灵活性和拓展性都非常好,通过使用配置文件,可以很方便地更换适配器,也可以在不修改原有代码
的基础上增加新的适配器,完全符合OCP原则,(对增加打开,修改关闭)
(4)由于适配器类是适配者类的子类,因此可以在适配器类中置换一些适配者的方法,使得
适配器的灵活性更强。