7种结构型模式

结构型模式,讨论的是类和对象的结构,它采用继承机制来组合接口和实现,或者通过组合一些对象,从而实现新的功能。Gof23中设计模式中的结构模式有7种,分别是适配器模式(Adapter)、装饰器模式(Decorator)、代理模式(Proxy)、外观模式(Facade)、桥接模式(Bridge)、组合模式(Composite)、享元模式(Flyweight)

(1)适配器模式:核心思想—把原有的接口转变成为调用者期待的接口,从而使不同接口的类可以一起工作。

   适配器包含3个角色:原角色Adaptee—需要适配的目标类或接口、目标角色Target—所期望得到的接口、适配器角色Adapter—适配器类是本模式的核心,用来把源接口转换成目标接口,显然这一角色不可以是接口,而必须是具体类。

第一种:类的适配器模式(对类进行适配)

 第二种:对象的适配器模式(对对象进行包装)

   对象的适配器模式用来对目标对象进行包装,因此又叫包装器模式。效果与第一种模式相同,不同的是适配的方式不同。

 第三种:接口的适配器模式(对接口抽象化)

 有时我们会在一个接口中定义多个接口方法,如果要实现该接口编写一个类,就必须为每一个接口方法编写代码,这显然会造成很大的浪费。为了解决这个问题,可以使用第三种适配器模式—默认适配器。它会为原有的接口类实现一个默认的抽象类,在该抽象类中编写每一个接口的默认实现,当我们需要编写一个具体类时,只需要继承自该类,而不需要实现原有的接口。并且,此时我们不需要实现所有的接口方法,只实现需要的函数即可。 

原文地址:https://www.cnblogs.com/chengJAVA/p/3633643.html