当前位置 博文首页 > 庆述倾述:23种常见设计模式概述——GoF 23(四人帮,Gang of Fo

    庆述倾述:23种常见设计模式概述——GoF 23(四人帮,Gang of Fo

    作者:[db:作者] 时间:2021-08-05 12:51

    设计模式的概念最早是由 克?斯托佛·亚历山大 在其著作 《建筑模式语?》 中?次提出的。

    设计模式是由多年的经验提炼出来开发指导思想,它经历了很长一段时间的发展,它们提供了软件开发过程中面临的一般问题的最佳解决方案。是解决特定问题的一系列套路,是前辈们的代码设计经验的总结,具有一定的普遍性,可以反复使用。其目的是为了提高代码的可重用性、代码的可读性和代码的可靠性。

    设计模式遵循大原则:

    • 单?职责:?个类和?法只做?件事 。
    • 开闭原则:对扩展(继承)开放,对修改关闭。
    • 里氏替换:继承必须确保超类中所拥有的性质在子类中依然成立 。即:父类出现的地方都可以使用子类来替换。
    • 依赖倒置:面向接口编程,不要面向实现编程。
    • 接口隔离:为各个类建立它们需要的专用接口,建立单?接口 。
    • 迪米特原则:只与直接朋友交谈,不跟陌生人说话,降低耦合 。

    OOP7大原则少一个合成复用原则。

    • 合成复用原则:尽量先使用组合或者聚合等关联实现,其次才考虑使用继承关系来实现。

    这些模式可以分为三大类:创建型模式、结构型模式、行为型模式。

    1. 创建型模式(5类)

    这类模式提供创建对象的机制(在创建对象的同时隐藏创建逻辑的方式,而不是使用 new 运算符直接实例化对象。), 能够提升已有代码的灵活性和可复?性。

    创建者模式包括:

    • 工厂模式(Factory Pattern
    • 抽象工厂模式(Abstract Factory Pattern
    • 建造者模式(Builder Pattern
    • 原型模式(Prototype Pattern
    • 单例模式(Singleton Pattern

    2. 结构型模式(7类)

    这类模式介绍如何将对象和类组装成较?的结构, 并同时保持结构的灵活和?效。也就是说,它关注类和对象的组合

    结构型模式包括:

    • 适配器模式(Adapter Pattern
    • 桥接模式(Bridge Pattern
    • 组合模式(Composite Pattern
    • 装饰器模式(Decorator Pattern
    • 外观模式(Facade Pattern
    • 享元模式(Flyweight Pattern
    • 代理模式(Proxy Pattern

    3. 行为型模式(11类)

    这类模式负责对象间高效沟通和职责委派,特别关注对象之间的通信。

    行为型模式包括:

    • 模板模式(Template Pattern
    • 命令模式(Command Pattern
    • 迭代器模式(Iterator Pattern
    • 观察者模式(Observer Pattern
    • 中介者模式(Mediator Pattern
    • 备忘录模式(Memento Pattern
    • 解释器模式(Interpreter Pattern
    • 状态模式(State Pattern
    • 策略模式(Strategy Pattern
    • 责任链模式(Chain of Responsibility Pattern
    • 访问者模式(Visitor Pattern
    cs