设计模式 --- 用于获取在特定环境下解决特定问题的设计经验.
设计模式解决的问题必须要和上下文出现的问题匹配,否则使用该设计模式就不是"good design".
从可维护性角度来说就是降低了可理解性: 在面对熟悉的设计模式,开发者根据知识库KB构建项目的心智模型MM. 简单来说,如果是好的设计模式那么阅读代码时就可以很快的理解代码,而不合适的设计模式使用会给阅读代码的人带来额外的困惑.
设计模式主要分为三类:创造型、结构型和行为型.
创造型: 与对象的创建有关
结构型: 与对象之间的组合有关
行为型: 与对象之间的通信有关