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

  • 相关阅读:
    轻便的客户端oracle instant client安装备忘(zt)
    OpenOffice3.0以服务方式运行在Windows平台(文件转换服务器解决方案)
    动态生成与编译(二)CodeDOM的类层次结构
    动态生成与编译(五)用CodeDOM生成一个完整的类(下)
    动态生成与编译(三)写一个面向过程的程序
    动态生成与编译(一)入门
    运行时设置数据库连接字符串
    动态生成与编译(四)用CodeDOM生成一个完整的类(上)
    世界级的《生化危机4 / Biohazard 4 / ResidentEvil 4》
    充满悬念的世界杯! 《FIFA World Cup GERMANY 2006》
  • 原文地址:https://www.cnblogs.com/lsy26821/p/13937475.html
Copyright © 2011-2022 走看看