软件工程

本类阅读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开发
最少职责OOD设计手段

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

Hi you there,上一次我曾说到过设计手段不一定要应用,但是它们的应用可以带来巨大的好处。设计手段这个词实际上是我自己定义的,原因是一直没有想到怎样描述更好些,这里我再用一个更好的词汇描述一下这些手段,“设计方针”(Design Guidelines)。我觉得用这个词汇就可以很好的形容这些设计手段的性质了,它们就是一些方针,你可以选择遵从或不遵从,当然遵从会有一定的好处,而且这里说的好处不是指一般的好处,这一点你会慢慢体会的到!^_^ 至于方针中的每一条规则我还是将其称之为手段吧,所以这次的标题还用设计手段这个词。如果你还没有读过第一篇:《OOD的设计手段总结》的话我建议你先读一下,顺便发表一下自己的看法。好了,接下来就讲讲这次的手段吧。又一个面向对象设计的手段,这次说的是最少职责手段。

Define a responsibility as small as posible:在上次讨论的Objects are well defined resposibilities一条中曾说到对象是明确定义的职责,那么最少职责这个设计手段所提出的正是要求对象所拥有的职责越少越好。这样会产生很多的小对象拥有各自的职责,这对OCP原则的支持又大了一些,因为当需求变动时,如果要修改也只是修改负责各自职责的对象,它们并不会影响其他的职责(记住Objects are well defined resposibilities),反而如果是一个对象包含一个大职责的话,对象内部的改动就很有可能影响对象中其他的职责了。另外对职责的扩展,因为现在有很多小职责对象,所以如果设计得体的话就可以很方便的增加职责对象来扩展整个系统的职责。

事实上,我觉得与其说这是个设计手段,不如说这是个OOD设计原则更为恰当,比如可以叫做最少职责原则(LRP, Least Responsibility Principle)。^_^

上面这个设计手段完全是我个人总结出来的,也许在现实中并不得到认可,但是以个人经验总结来说,这个设计手段使我受益匪浅。所以我希望共享出来,希望也可以对大家有所帮助!最后还是老话,好东西一定要共享哦,如果你有什么好的思想的话一定要留个言说明一下!^_^




相关文章

相关软件