软件工程

本类阅读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开发
设计模式之行为

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

我也不知道为什么很多人写的代码号称是oo,其实是用class 这个关键字来掩饰结构化编程的习惯。我个人觉得这个简直就是侮辱OO这项技术。在设计OO的时候,找出各种domain class或者说business class应该说比较容易,像什么名词法等等都是成型技术了。而OO最难的也是最有意思的就是解决对象间的通讯问题。因为不作设计的结果是对象间不知道怎么通讯,或者说如果要通讯需要暴露一大堆的内部状态。每个控制这类通讯的对象或者类都需要根据不同的情况来处理,写上一堆if else是很正常的事情了。其难维护程度真的是。。。
还有一种是设计过度,最容易导致的结果是一个对象需要和无数个对象通讯,其结果是从这个对象的个体角度看是decouple了,但是从系统的角度看这个对象和那些与之通讯的对象,耦合性很高,尤其是如果是link的通讯,如果那天把中间某个对象修改了,是否可以保持以前的通讯,要重新检查,危险是很高的。

这样基于以上问题,行为模式就发挥作用了,它可以decouple 对象或者类之间的通讯问题,尤其是那些处于不同层次的对象,效果尤其明显,像著名的MVC即observer模式的变种。




相关文章

相关软件