设计模式之结构类模式PK

2021年09月15日 阅读数:1
这篇文章主要向大家介绍设计模式之结构类模式PK,主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。

结构类模式包括:spa

  1. 适配器模式
  2. 桥梁模式
  3. 组合模式
  4. 装饰模式
  5. 门面模式
  6. 享元模式
  7. 代理模式

结构类模式着重于如何创建一个软件结构设计

为何叫结构类模式呢? 由于他们都是经过组合类或对象产生更大结构以适应更高层次的逻辑需求.代理

结构型模式是为解决怎样组装现有的类,设计他们的交互方式,从而达到实现必定的功能的目的。对象

代理模式VS装饰模式

首先,装饰模式就是代理模式的一个特殊应用,二者的共同点是都具备相同的接口,不一样点是代理模式着重对代理过程的控制,而装饰模式则是对类的功能进行增强或减弱,着重类的功能变化.接口

代理模式是把当前的行为或功能委托给其余对象执行,代理类负责接口限定: 是否能够调用真实角色,以及是否对发送到真实角色的消息进行变形处理,它不对被代理类的功能作任何处理,保证原汁原味的调用. 代理模式使用到极致开发就是AOP.开发

装饰模式是在要保证接口不变的状况下增强类的功能,它保证的是被修饰的对象功能比原始对象丰富,但不作准入条件判断和准入参数过滤,如是否能够执行类的功能等, 这不是装饰模式关心的class

装饰模式VS适配器模式

装饰模式和适配器模式虽然差异比较大, 可是他们功能有类似的地方: 都是包装做用,都是经过委托方式实现其功能. 不一样的是:装饰模式包装的是本身的像地雷,隶属于同一个家族(相同接口或父类),适配器模式则修饰非血缘关系类,把一个非本家族的对象假装成本家族的对象.扩展

装饰模式和适配器模式区别以下:软件

  1. 意图不一样. 装饰模式的意图是增强对象的功能, 而适配器模式关注的是转化, 它的主要意图是两个不一样对象之间的转化.
  2. 施与对象不一样. 装饰模式装饰的对象必须是本身的同宗, 也就是相同的接口或父类; 适配器模式则必须是两个不一样的对象, 由于它着重于转换
  3. 场景不一样. 装饰模式在任什么时候候均可以使用, 只要是想增长类的功能; 而适配器模式 则是一个补救模式,通常出如今系统成熟或已经构建完毕的项目中,做为一个紧急处理手段采用.
  4. 扩展性不一样. 装饰模式很容易扩展. 可是适配器模式在两个不一样对象之间架起了一座沟通的桥梁, 创建容易,去掉就比较困难了,须要从系统总体考虑是否可以撤销.