设计模式总结之结构型模式

      在设计模式中,结构性设计模式分为:

      1.适配器模式 Adapter

      2.桥接模式 Bridge

      3.组合模式 Composite

      4.装饰模式 Decorator

      5.外观模式 Facade

      6.享元模式 Flyweight

      7.代理模式 Proxy  

     下面一一来进行讲解:

      适配器模式:将一个类的接口装换成客户希望的另一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。

      使用一个已经存在的类,而它的接口不符合要求,或者希望创建一个可以复用的类,该类可以与其他不相关的类或不可预见的类协同工作,适配器模式可以让这些接口不同的类通过适配后协同工作。

      以我们生活中手机充电为例子,电压220v需要用变压器转换为9v电压。才可以为手机充电。

  设计模式总结之结构型模式_第1张图片

    桥接模式:将抽象部分和它的实现部分分离,使它们都可以独立地变化。

    面向变化,桥接模式解耦这些不同方向的变化,通过对象组合的方式,把两个角色之间的继承关系改为组合的关系,从而使这两者可以应对各自独立地变化。找出变化并封装之。。。

设计模式总结之结构型模式_第2张图片

      组合模式:将对象组合成树形结构以表示部分-整体的层次结构,组合模式使得用户对单个对象的使用具有一致性。

     组合模式的效果是客户可以一致地使用组合结构和单个对象。任何用到基本对象的地方都可以使用组合对象。

  设计模式总结之结构型模式_第3张图片

    装饰模式:动态的给一个对象添加一些额外的职责,就增加功能来说,装饰模式相比生成 子类更加灵活。

 设计模式总结之结构型模式_第4张图片

      外观模式:为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用

  设计模式总结之结构型模式_第5张图片

   代理模式:

为其他对象代理以控制对这个对象的访问。


     代理模式与外观模式的区别

代理的客户对象无法直接访问目标对象,代理对象提供对单独目标对象的访问控制,而外观模式的客户对象可以直接访问子系统中的各个对象,但通常由外观对象提供对子系统个元件功能的简化的共同层次的调用接口。  

    代理模式与适配器模式的区别

 二者都属于一种衔接性质的功能。代理对象和被代理对象的接口是同一个,但是客户没法直接访问被代理者,只能通过代理对象去完成被代理对象的访问。而适配器模式是将多个子系统封装起来,提供一个统一的外部接口,客户只需要使用这个外部接口即可访问对象的子系统了。

     桥接模式和适配器模式的区别

 共同特征就是给另一对象提供一定程度的间接性,这样可以有利于系统的灵活性。桥接模式在设计之初,就对抽象接口与他的实现部分进行桥接,让抽象与实现两者可以独立演化,显然桥接模式更棒。

  外观模式跟适配器模式的区别

二者都是对显存系统的封装。外观模式定义了一个新的接口,而适配器则是复用了一个原有的接口;适配器是用来适配对象的,而外观则是用来适配整个子系统的。


  

你可能感兴趣的:(设计模式总结之结构型模式)