返回
参悟设计模式之禅,掌握软件设计精髓
闲谈
2023-11-27 22:05:53
设计模式之禅,是一本软件设计领域的经典著作,由Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides四位作者合著,于1994年首次出版。本书系统地总结了23种设计模式,并将其归纳为六大设计原则:单一职责原则、开放-封闭原则、里氏替换原则、依赖倒置原则、接口隔离原则和组合复用原则。
这些设计原则和设计模式,是软件设计领域的基石,掌握它们对于软件设计师来说至关重要。通过对设计模式之禅的学习,软件设计师可以提高自己的设计水平,开发出更加灵活、可维护、可扩展的软件系统。
六大设计原则
六大设计原则是设计模式之禅的核心思想,它们是:
- 单一职责原则:一个类只应该做一件事情,并且应该做得很好。
- 开放-封闭原则:软件应该对扩展开放,对修改关闭。
- 里氏替换原则:子类对象可以替换父类对象,而不会破坏程序的正确性。
- 依赖倒置原则:高层模块不应该依赖低层模块,它们都应该依赖抽象。
- 接口隔离原则:客户端不应该依赖它不使用的接口。
- 组合复用原则:尽量使用组合和聚合,而不是继承来实现对象的行为。
23种设计模式
设计模式之禅中介绍了23种设计模式,它们分为三大类:创建型模式、结构型模式和行为型模式。
- 创建型模式:用于创建对象,包括工厂模式、抽象工厂模式、建造者模式、原型模式和单例模式等。
- 结构型模式:用于组织对象,包括适配器模式、桥接模式、组合模式、装饰模式、外观模式、享元模式和代理模式等。
- 行为型模式:用于定义对象之间的交互方式,包括命令模式、解释器模式、迭代器模式、中介者模式、观察者模式、责任链模式、策略模式、模板方法模式和访问者模式等。
各模式间VS
设计模式之禅还对23种设计模式之间的关系进行了详细的比较和分析。比如,工厂模式和抽象工厂模式的区别是,前者只创建一种产品,而后者可以创建多种产品。桥接模式和适配器模式的区别是,前者通过引入一个抽象层来解耦两个对象,而后者通过引入一个转换器来适配两个对象。
扩展篇
设计模式之禅的扩展篇还介绍了一些其他设计模式,比如模块模式、领域驱动设计模式和面向方面编程模式等。这些模式虽然不在23种设计模式之列,但它们在软件设计中也发挥着重要的作用。
设计模式之禅的意义
设计模式之禅是一本经典的软件设计书籍,它对软件设计领域产生了深远的影响。通过对设计模式之禅的学习,软件设计师可以掌握软件设计中的精髓,开发出更加灵活、可维护、可扩展的软件系统。