成功模式(pattern)作家的七个习惯(4)(by GOF)

王朝other·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

习惯四:保持模式独一无二和优点突出

(Keeping Patterns Distinct and Complementary)

当你开发多个模式时有一个趋向需要避免。

当你写一个模式时,可能趋向于在细节和

口径(scope)同时增长。在这时很容易忘记

其它模式。模式之间的区别结果变得模糊了,

使别人无法分组(collectively)理解模式。

它们开始在口径和目的上互相重叠。这可能

对作者来说非常清楚,而对新手来说不那么

清楚。他们将不知道什么时候去使用一个模

式而不是另一个,因为它们之间的区别不那么

明显。

所以确保你的模式是正交的(orthogonal)并且

它们合力(synergistically)工作。持续问你

自己:“模式X和模式Y的区别是什么?”如果

解决相同的或相似的问题,你可以把它们合并。

如果两个模式使用相似的类层次(hierarchies),

则不用担心。在OO编程中有这么多方法使用

相对少的继承机制。通常相同的类使用将会

导致表示广泛变化的明显的不同对象结构。

让模式的意图作为它们不同点,而不是实现它们

的类结构的指南。

一个测试你的模式怎样正交和合作的好的方法

是保持分离的文档来比较(compare)和对比

(contrast)你的模式。在<<设计模式>>中

我们提供了多个为了这个目的的部分。试图

在写下来的形式下解释模式关系的简单行为

给我们对我们的模式的新的视角。不止一次

它让我们重新思考它们的一些部分。

我的唯一遗憾是我们在游戏中没有早一点重视

关系。我建议你尽早开始写下这个附件材料。

这可能看上去是做傻事,特别当你有很多模式

需要比较。不过当你只有两个模式时,重叠

得可能性出现了。初期花时间比较和对比

泥的模式将帮助你保持你的模式独一无二

而且优点突出。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航