Linux中国 Linux中国门户站!
设为主页 设为主页
收藏本站 收藏本站
 
当前位置 :首页 ->Linux技术 ->系统管理 ->正文

对象建模笔记--角色建模3

来源:Linux-cn.com 作者:Webmaster 时间:2007-05-05 点击: [收藏] [投稿]

简单设计,不断改进

美好的设计不可能一开始就完成,做事情的正确方式应当是循序渐进。记住简单的原则,尽量不要为未来的需求而编程。与此同时,我们还需要处理变与不变之间的辨正关系。从需求中识别出变化的部分,以及不变的部分,对变化的部分进行抽象,识别出变化的表面之下的不变的内涵。这种思考方式就是抽象的思想。

改进包括两种概念,一种是对功能的改进,一种是对代码的改进。前者我们在下面的讨论中会提到,XP中的重构的思想有助于我们处理后者。重构要用的好,我的经验是配合代码复审会议来使用。从这样的活动中总结出适合你自己的重构标准。我提倡小规模的、不断进行的重构,反对大规模的重构。因为后者的风险过高。要形成团队不断重构的习惯并不是一件容易的事情,需要额外的动力才能够实行。

设计来自于需求,设计的改进源自于需求的演变

所有的设计都不是孤立存在的,强制在自己的项目中应用设计模式,应用刚学到的面向对象技巧,都只是削足适履。设计应该从需求出发,并满足需求。脱离需求的设计并不是一个好的设计。注意到,文章的前半部分讨论的设计和后半部分讨论的设计截然不同,因为需求发生了变化,但两种设计都属于优秀的设计。记住Martin Fowler的一句话:设计在于权衡。

需求在演进,相应的设计也需要演进。设计的演进往往被认为是一个痛苦的过程,不错。但是还是有很多的办法能够解决这个问题的。下面一点的讨论就是一种方法。

针对接口设计,接口应该能够满足现实世界观

针对接口设计是一种新思想,它能够帮助我们分离接口和实现部分,实际上,它们分离的是上文中提到的变化和不变的部分。接口是稳定的,因此它属于不变的部分,实现是不稳定的,属于变化的部分,随着需求的演进而演进。设计一个稳定的接口是软件设计中非常重要的部分,它能够保证在用户不察觉的情况下对需求进行扩展,对代码进行升级。但是应该认识到,设计一个稳定的接口并不是一件容易的事情,而其中起到决定性因素的,不是面向对象的设计能力,而是领域经验。换句话说,如果你对某个领域有深入的了解,能够体会到领域中的抽象本质,那设计出的代码自然会非常的优秀。因此,我们强调,接口要能够符合现实世界观。做到这一步需要时间和经验。




 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<



上一篇:对象建模笔记--角色建模2   下一篇:我的E-Mail服务器为什么变慢了?

文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论
更多相关文章
Power by linux-cn.com 粤ICP备05006655号