模式的基本要素:
l 名称:每个模式都有一个独一无二的名称,人们用名称来鉴别模式。
l 意图:模式的目的。
l 问题:模式试图解决的问题
l 解决方案:对于自己出现的场景中的问题,模式怎样提供一个解决方案。
l 参与者和协作者:模式包括的实体。
l 效果:使用模式的效果。使用模式的同时研究其约束。
l 实现:怎样实现模式。(注意:实现只是模式的具体表现形式,而不能像模式本身那样被分析)
l GoF(四人团)参考:在四人团的书中得到更多信息的位置。
三、为什么要学习设计模式
学习设计模式的理由:
l 复用解决方案——通过复用解决已经建立的设计,我为自己的问题找到了更高的起点并避免了绕弯路。
l 建立通用的术语——交流与协作都需要一个共同的词汇基础、一个对问题的共同观点。
l 设计模式在分析和设计上给与更高的视角。
四、学习设计模式的其他优点
1. 改善团队的交流和个人学习
2. 大多数设计模式还让软件更具可修改性。
3. 设计模式——当他们被正确传授时——可以大大增加学习者对基本OO设计原则的理解。
GoF特别建议了以下几点:
l 针对接口编程。
l 优先使用对象组合,而不是继承。
l 找到并封装变化点。