文章目录
- 一、软件设计模式
- 二、GOF设计模式
一、软件设计模式
软件设计模式
-
软件设计模式是指在软件工程中用于解决常见问题的经典解决方案(最佳实践)。它们代表了经过验证的、可重用的设计经验,可以帮助程序员编写出可维护、可扩展且高效的代码。
-
软件设计模式通常用于软件的设计阶段。通过使用合适的设计模式,使得在软件设计方案更合理、更高效。
设计模式作用
- 提高代码的可维护性:设计模式帮助开发者编写更清晰、更易于维护的代码。
- 促进代码复用:通过设计模式,可以避免重复造轮子,提高开发效率。
- 提升系统灵活性:设计模式使得系统更加灵活,易于扩展和修改。
- 优化系统结构:设计模式有助于构建模块化、高内聚、低耦合的系统。
- 减少代码冗余:设计模式可以帮助消除不必要的代码,减少冗余。
- 提高开发效率:熟悉设计模式可以让开发者更快地识别和解决常见问题。
- 促进沟通:设计模式提供了一套通用的词汇表,有助于开发团队之间的沟通和理解。
设计模式特点
- 通用性:设计模式适用于多种编程语言和多个应用领域。
- 可复用性:设计模式提供了一种通用的解决方案,可以在不同的项目中重复使用。
- 经过验证:这些模式是基于大量实践经验总结出来的,被广泛认可和使用。
- 文档化:每种模式都有明确的定义、结构和使用场景。
- 面向对象:设计模式专注于面向对象设计的原则,如封装、继承和多态。
二、GOF设计模式
GOF(Gang of Four,四人组)是指Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides这四位软件工程师,他们在1994年出版了一本名为《设计模式:可复用面向对象软件的基础》(Design Patterns: Elements of Reusable Object-Oriented Software)的书籍。这本书介绍了软件设计中的24种设计模式,这些模式在面向对象软件开发中得到了广泛的应用。
GOF设计模式分三大类
- 创建型模式(Creational Patterns):这些模式关注对象的创建过程,提供了创建对象的更好方法,隐藏了创建逻辑而不仅仅是使用新的和实例化操作。
- 单例模式(Singleton)
- (可选)简单工厂模式(Simple Factory)
- 工厂方法模式(Factory Method)
- 抽象工厂模式(Abstract Factory)
- 建造者模式(Builder)
- 原型模式(Prototype)
- 结构型模式(Structural Patterns):这些模式关注类和对象的组合,它们实现了类和对象的组合,以形成更大的结构。
- 适配器模式(Adapter)
- 桥接模式(Bridge)
- 组合模式(Composite)
- 装饰器模式(Decorator)
- 门面模式(Facade)
- 享元模式(Flyweight)
- 代理模式(Proxy)
- 行为型模式(Behavioral Patterns):这些模式关注对象之间的通信,它们是用于在对象之间分配和执行任务的模式。
- 职责链模式(Chain of Responsibility)
- 命令模式(Command)
- 解释器模式(Interpreter)
- 迭代器模式(Iterator)
- 中介者模式(Mediator)
- 备忘录模式(Memento)
- 观察者模式(Observer)
- 状态模式(State)
- 策略模式(Strategy)
- 模板方法模式(Template Method)
- 访问者模式(Visitor)
您正在阅读的是《设计模式Python版》专栏!关注不迷路~