目录
1.前言
在软件开发中,设计模式是一种经过验证的解决方案,用于应对常见的设计问题。在面向对象编程语言中,如C++或Java,设计模式的实现通常利用类和继承等特性。然而,在C语言中,由于缺乏类和继承机制,设计模式的实现需要依赖结构体、函数指针和全局变量等特性。尽管如此,许多经典设计模式仍然可以在C语言中有效地实现,并为程序设计提供有力的支持。
2.设计模式概述
编程中的设计模式通常分为三大类:创建型模式、结构型模式和行为型模式。这些模式提供了可重用的解决方案,帮助开发人员在面临常见的设计问题时能更高效地设计系统。
2.1.创建型模式 (Creational Patterns)
这些模式主要关注对象的创建过程,确保系统在创建对象时尽可能避免创建过多的对象,或提供更灵活的创建方式。
- 单例模式 (Singleton)
- 工厂方法模式 (Factory Method)
- 抽象工厂模式 (Abstract Factory)
- 建造者模式 (Builder)
- 原型模式 (Prototype)
2.2.结构型模式 (Structural Patterns)
这些模式处理类或对象组合的方式,帮助开发人员创建具有更高灵活性和扩展性的结构。
- 适配器模式 (Adapter)
- 桥接模式 (Bridge)
- 组合模式 (Composite)
- 装饰者模式 (Decorator)
- 外观模式 (Facade)
- 享元模式 (Flyweight)
- 代理模式 (Proxy)
2.3.行为型模式 (Behavioral Patterns)
这些模式主要关注类或对象之间的交互,帮助系统在不同的对象或类之间进行更高效的通信和责任分配。
- 模板方法模式 (Template Method)
- 观察者模式 (Observer)
- 状态模式 (State)
- 策略模式 (Strategy)
- 命令模式 (Command)
- 职责链模式 (Chain of Responsibility)
- 迭代器模式 (Iterator)
- 中介者模式 (Mediator)
- 备忘录模式 (Memento)
- 解释器模式 (Interpreter)
- 访问者模式 (Visitor)
3.总结
经典的设计模式总共有23种,分布在上述三大类别中。这些模式通过经验总结而来,帮助开发人员在不同的场景下应对常见的设计问题。