软件工程

本类阅读TOP10

·PHP4 + MYSQL + APACHE 在 WIN 系统下的安装、配置
·Linux 入门常用命令(1)
·Linux 入门常用命令(2)
·使用 DCPROMO/FORCEREMOVAL 命令强制将 Active Directory 域控制器降级
·DirectShow学习(八): CBaseRender类及相应Pin类的源代码分析
·基于ICE方式SIP信令穿透Symmetric NAT技术研究
·Windows 2003网络负载均衡的实现
·一网打尽Win十四种系统故障解决方法
·数百种 Windows 软件的免费替代品列表
·收藏---行百里半九十

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
成功模式(pattern)作家的七个习惯(4)(by GOF)

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

习惯四:保持模式独一无二和优点突出
(Keeping Patterns Distinct and Complementary)

当你开发多个模式时有一个趋向需要避免。
当你写一个模式时,可能趋向于在细节和
口径(scope)同时增长。在这时很容易忘记
其它模式。模式之间的区别结果变得模糊了,
使别人无法分组(collectively)理解模式。
它们开始在口径和目的上互相重叠。这可能
对作者来说非常清楚,而对新手来说不那么
清楚。他们将不知道什么时候去使用一个模
式而不是另一个,因为它们之间的区别不那么
明显。

所以确保你的模式是正交的(orthogonal)并且
它们合力(synergistically)工作。持续问你
自己:“模式X和模式Y的区别是什么?”如果
解决相同的或相似的问题,你可以把它们合并。
如果两个模式使用相似的类层次(hierarchies),
则不用担心。在OO编程中有这么多方法使用
相对少的继承机制。通常相同的类使用将会
导致表示广泛变化的明显的不同对象结构。
让模式的意图作为它们不同点,而不是实现它们
的类结构的指南。

一个测试你的模式怎样正交和合作的好的方法
是保持分离的文档来比较(compare)和对比
(contrast)你的模式。在<<设计模式>>中
我们提供了多个为了这个目的的部分。试图
在写下来的形式下解释模式关系的简单行为
给我们对我们的模式的新的视角。不止一次
它让我们重新思考它们的一些部分。

我的唯一遗憾是我们在游戏中没有早一点重视
关系。我建议你尽早开始写下这个附件材料。
这可能看上去是做傻事,特别当你有很多模式
需要比较。不过当你只有两个模式时,重叠
得可能性出现了。初期花时间比较和对比
泥的模式将帮助你保持你的模式独一无二
而且优点突出。


相关文章

相关软件