什么是设计模式
设计模式是对面向对象设计中反复出现的问题的解决方案。它们提供了被反复使用、多数人知晓的、经过分类编目的代码设计经验总结。
设计模式的作用
- 提高代码的可重用性:通过定义一套标准的解决方案,设计模式使得相同或类似的问题可以在不同的项目中复用相同的代码结构或逻辑。
- 增强代码的可读性:设计模式使用清晰、简洁的方式表达复杂的代码逻辑,使得其他开发者能够更容易地理解和维护代码。
- 提高系统的可维护性:设计模式遵循一定的设计原则,如开闭原则、里氏代换原则等,这些原则有助于降低系统各部分的耦合度,提高系统的可扩展性和可维护性。
设计模式分类
设计模式可以被分为以下三大类:
- 创建型模式(Creational Patterns)
- 结构型模式(Structural Patterns)
- 行为型模式(Behavioral Patterns)
创建型模式(Creational Patterns)
创建型模式主要关注于对象的创建过程。它们提供了一种创建对象的最佳方式,而不仅仅是直接使用 new 关键字。这样做的好处包括提高代码的重用性、减少依赖以及简化对象的创建过程。常见的创建型模式包括:
- 单例模式(Singleton Pattern)
- 工厂方法模式(Factory Method Pattern)
- 抽象工厂模式(Abstract Factory Pattern)
- 简单工厂模式(Simple Factory Pattern)
- 建造者模式(Builder Pattern)
- 原型模式(Prototype Pattern)
结构型模式(Structural Patterns)
结构型模式主要关注于如何通过组合类或者对象来获得更大的结构。它们通常用来处理类或对象之间的组合关系。常见的结构型模式包括:
- 适配器模式(Adapter Pattern)
- 桥接模式(Bridge Pattern)
- 组合模式(Composite Pattern)
- 装饰器模式(Decorator Pattern)
- 外观模式(Facade Pattern)
- 享元模式(Flyweight Pattern)
- 代理模式(Proxy Pattern)
行为型模式(Behavioral Patterns)
行为型模式主要关注于对象之间的通信。它们描述了类或对象之间如何交互以及如何分配职责。常见的行为型模式包括:
- 策略模式(Strategy Pattern)
- 模板方法模式(Template Method Pattern)
- 观察者模式(Observer Pattern)
- 迭代器模式(Iterator Pattern)
- 状态模式(State Pattern)
- 命令模式(Command Pattern)
- 职责链模式(Chain of Responsibility Pattern)
- 中介者模式(Mediator Pattern)
- 备忘录模式(Memento Pattern)
- 访问者模式(Visitor Pattern)
C#实现的设计模式示例代码
设计模式 C# 版( .NET 6),有系列文章讲解:
推荐学习书籍
设计模式之禅(第2版),在线免费阅读地址:https://www.kancloud.cn/sstd521/design/193489