|
|
成功模式(pattern)作家的七个习惯(4)(by GOF) |
|
|
作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站 |
习惯四:保持模式独一无二和优点突出 (Keeping Patterns Distinct and Complementary)
当你开发多个模式时有一个趋向需要避免。 当你写一个模式时,可能趋向于在细节和 口径(scope)同时增长。在这时很容易忘记 其它模式。模式之间的区别结果变得模糊了, 使别人无法分组(collectively)理解模式。 它们开始在口径和目的上互相重叠。这可能 对作者来说非常清楚,而对新手来说不那么 清楚。他们将不知道什么时候去使用一个模 式而不是另一个,因为它们之间的区别不那么 明显。
所以确保你的模式是正交的(orthogonal)并且 它们合力(synergistically)工作。持续问你 自己:“模式X和模式Y的区别是什么?”如果 解决相同的或相似的问题,你可以把它们合并。 如果两个模式使用相似的类层次(hierarchies), 则不用担心。在OO编程中有这么多方法使用 相对少的继承机制。通常相同的类使用将会 导致表示广泛变化的明显的不同对象结构。 让模式的意图作为它们不同点,而不是实现它们 的类结构的指南。
一个测试你的模式怎样正交和合作的好的方法 是保持分离的文档来比较(compare)和对比 (contrast)你的模式。在<<设计模式>>中 我们提供了多个为了这个目的的部分。试图 在写下来的形式下解释模式关系的简单行为 给我们对我们的模式的新的视角。不止一次 它让我们重新思考它们的一些部分。
我的唯一遗憾是我们在游戏中没有早一点重视 关系。我建议你尽早开始写下这个附件材料。 这可能看上去是做傻事,特别当你有很多模式 需要比较。不过当你只有两个模式时,重叠 得可能性出现了。初期花时间比较和对比 泥的模式将帮助你保持你的模式独一无二 而且优点突出。
|
|
相关文章:相关软件: |
|