设计模式是对 软件设计中普遍存在的,反复出现的问题所提出的解决方案。本质上是为了增加软件的可扩展性,可维护性,通用性以及降低软件的复杂度。
软件设计的原则:复用性,扩展性
SOLID原则:
- 单一职责原则(Single Responsibility Principle)
- 开闭原则(Open/Closed Principle)
- 里氏替换原则(Liskov Subsitution Principle)
- 接口隔离原则(Interface Segregation Principle)
- 依赖倒置原则(Dependency Inversion Principle)
设计模式可以分为三类:
- 创建型模式: 提供创建对象的机制,增加已有代码的灵活性和复用性。
- 结构型模式:介绍如何将对象和类组装成较大的结构,并同时保持结构的灵活和高效。
- 行为型模式: 负责对象间的高效沟通和职责委派。
创建型模式:
用来描述“如何创建对象”,它的主要特点是将 对象的创建 和使用 分离。包括:
- 单例模式
- 原型模式
- 工厂模式
- 抽象工厂模式
- 建造者模式
结构型模式:
用来描述如何将类或者对象按照某种布局组成更大的结构。包括:
- 代理模式
- 适配器模式
- 桥接模式
- 装饰模式
- 外观模式
- 享元模式
- 组合模式
行为型模式:
用来识别对象之间的常用交流模式以及如何分配职责。包括:
- 模版方法模式
- 策略模式
- 命令模式
- 职责链模式
- 状态模式
- 观察者模式
- 中介者模式
- 迭代器模式
- 访问者模式
- 备忘录模式
- 解释器模式
建造者模式
将一个复杂对象分解成多个简单对象,并组合成复杂对象。
应用场景
需要生成的对象有复杂的内部结构,包含多个成员属性。这些属性之间相互依赖,需要指定其生成顺序。同时要隔离对象的创建和使用,使得相同的创建过程可以创建不同的产品。
工厂模式
工厂模式也是创建对象的一种模式,分为:
- 简单工厂模式
- 工厂方法模式
- 抽象工厂模式
Go
C++
原文链接: https://www.cnblogs.com/starter-songudi/p/17102442.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/316794
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!