zoukankan      html  css  js  c++  java
  • 设计模式大总结2-结构型模式

    上篇我们介绍完了创建型模式,今天我们继续总结结构型模式,它分别包括适配器模式、装饰模式、桥接模式、组合模式、享元模式、代理模式和外观模式。

    1、适配器模式

    定义:将一个类的接口转换成客户希望的另外一个接口。--------------双方都不适合修改的时候考虑适配器模式

    图例:


    2.装饰模式

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

    优点:装饰模式就是把要添加的附加功能分别放在单独的类中,并让这个类包含它要装饰的对象,当需要执行时候,客户端就可以选择的按顺序的选择装饰功能.

    图例:



    3、桥接模式:

    定义:将抽象的部分,实现部分分类,是他可以独立变化。

    PS:如果继承不能满足开放-封闭原则的话考虑桥接模式。

    图例:手机品牌和手机软件的关系。


    4、组合模式

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

    优点:整体和部分可以被一致对待。



    5、享元模式

    定义:运用共享技术有效的支持大量细粒度的对象。

    优点:如果一个程序大量的是用对象,而且这些对象造成很大的存储开销时候考虑。


    6、代理模式

    定义:对其他对象提供一种代理以控制对这个对象的访问

    优点:

    a、远程代理:可以隐藏一个对象在不同空间地址的事实。

    b、虚拟代理:通过代理来存放需要很长时间实例化的对象。

    c、安全代理:用来控制真实对象的访问权限。

    d、智能引用:当调用真实对象时,代理处理另外一些事情。

    图例:



    7.外观模式

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

    图例:




  • 相关阅读:
    Swift5.3 语言参考(八) 模式
    Swift5.3 语言参考(七) 属性
    Swift5.3 语言参考(六) 声明
    Swift5.3 语言参考(五) 语句
    Swift5.3 语言参考(四) 表达式
    Swift5.3 语言参考(三) 类型
    Swift5.3 语言参考(一) 关于语言参考
    有效率的会议方式
    有效率的会议方式
    高中生活--第5篇--学英语的故事(四大难题)
  • 原文地址:https://www.cnblogs.com/jinfulin/p/3797718.html
Copyright © 2011-2022 走看看