学习设计模式的一种方法是了解设计模式在局部和全局两种视角上所起的作用并加以运用: a. 局部:模式告诉我们如何在模式的场景内解决特定的问题; b. 全局:模式创建一张关于“应用程序组件之间如何相互关联”的图。 学习设计模式的另一种方法是学习他们的机制,以及作为他们基础的原则和策略。 一. 开放-封闭原则 模块、方法和类应该对扩展是开放的,而对更改是封闭的。换句话说,我们可以在不修改代码的前提下对我们的软件进行扩展。例如在bridge模式中就很有可能在不修改任何现存的类的前提下加入新的实现部分。 二. 从场景中进行设计的原则 birdge模式和abstract模式都是从场景中实现的好例子。 优点: 在bridge模式中,通过联合使用共同点/变化点分析和类的出现的场景,可以同时看到眼前必须处理的情况和未来可能发生的情况。 三. 包容变化的原则 决不让一个类包含两件变化并以某种方式耦合在一起的事情发生。 |