设计模式(Design Pattern) 是软件开发中常见问题的典型解决方案,是经过分类编目的、代码设计经验的总结。
它是编程界的“棋谱”或“建筑图纸”。不要重复造轮子,而是复用前人验证过的最佳实践来构建可维护、低耦合的系统。
设计模式主要解决了以下问题:
- 代码复用与维护:避免重复劳动,提高代码的可读性和可维护性。
- 沟通成本:提供了一套通用的术语(如“单例”、“工厂”),方便开发者之间高效沟通。
- 系统解耦:通过抽象和封装,降低模块间的耦合度,应对需求变化。
一个设计模式通常包含四个基本要素:
- 模式名称 (Pattern Name):助记词,用于沟通和记录。
- 问题 (Problem):描述了何时使用模式,以及问题存在的背景。
- 解决方案 (Solution):描述了设计的组成成分、它们之间的相互关系及协作方式。
- 效果 (Consequences):描述了模式应用的效果及使用中可能出现的权衡问题。