zoukankan      html  css  js  c++  java
  • 设计模式--结构型设计模式(Structural)

    1 外观模式

        简单来说,外观模式是 简化系统与系统之间的耦合,对外提供一个统一的入口去执行不同的业务。

    2   装饰者模式(Decorator)

      简单来说,就是不改变原来对象的情况下, 将功能附加到对象上( 场景: 有一个coffee接口, 有一个实现类coffee, 如果需要加一份牛奶的话, 就调用牛奶装饰器, 如果需要加糖的话, 就调用加糖的装饰器, 最终可以展示coffee中加了哪些东西, 加完之后的价格是多少)

    • 扩展一个类的功能或给一个类添加附加职责
    • 动态的给一个对象添加功能, 这些功能可以再动态的撤销

     3 适配器模式(Adapter)

      简单来说就是 随着系统的迭代,原来的接口有可能不适用现在的业务,又想兼容原来的接口。

    4 享元模式(Flyweight)

    • 减少对象的创建, 降低内存中对象的数量, 降低系统的内存, 提高效率
    • 减少内存之外的其他资源占用

       

       

       5   组合模式(Composite)

       将对象组合成树形结构以表示"部分-整体"的层次结构(对单个对象和组合对象保持一致的方式处理)

    •  

       7 桥接模式(Bridge)

       简单来说就是  一个类存在两个或者多个维度的变化的情况下, 且这两个或多个维度都需要独立进行扩展(不希望多继承,因为多继承会使类的个数急剧增加)

    • 7 代理模式(Proxy)

    • 简单来说就是 为其他对象提供一种代理, 以控制对这个对象的访问,代理对象在客户端和目标对象之间起到中介的作用
    •  

    • 代理模式 适配器模式  外观模式 的区别: 

    • 代理模式和适配器模式应该说很相像,但是他们的区别也很明显,

    • 1 代理模式和被代理者的接口是同一个,只是使用中客户访问不到被代理者,所以利用代理间接的访问,

    • 2  适配器模式,是因为接口不同,为了让用户使用到统一的接口,把原先的对象通过适配器让用户统一的使用,大多数运用在代码维护的后期,或者借用第三方库的情况下 ,

    • 3 外观模式,是大家经常无意中使用的,就是把错综复杂的子系统关系封装起来,然后提供一个简单的接口给客户使用,就类似于一个转接口,可以想象成一个漏斗,中间细的那一段,越细耦合度越低,外观模式就是为了降低耦合度。

  • 相关阅读:
    网络配置br0 brtcl
    vlan pvid vid access口 trunk口
    虚拟化设置
    debian配置网络
    ps -a,job,netstat,daemons
    windows用命令行查看硬件信息
    查看linux硬件信息
    ruby send respond_to
    打开Win7休眠模式和离开模式的方法
    vim手册
  • 原文地址:https://www.cnblogs.com/lsy26821/p/13937475.html
Copyright © 2011-2022 走看看