设计模式之行为

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

我也不知道为什么很多人写的代码号称是oo,其实是用class 这个关键字来掩饰结构化编程的习惯。我个人觉得这个简直就是侮辱OO这项技术。在设计OO的时候,找出各种domain class或者说business class应该说比较容易,像什么名词法等等都是成型技术了。而OO最难的也是最有意思的就是解决对象间的通讯问题。因为不作设计的结果是对象间不知道怎么通讯,或者说如果要通讯需要暴露一大堆的内部状态。每个控制这类通讯的对象或者类都需要根据不同的情况来处理,写上一堆if else是很正常的事情了。其难维护程度真的是。。。

还有一种是设计过度,最容易导致的结果是一个对象需要和无数个对象通讯,其结果是从这个对象的个体角度看是decouple了,但是从系统的角度看这个对象和那些与之通讯的对象,耦合性很高,尤其是如果是link的通讯,如果那天把中间某个对象修改了,是否可以保持以前的通讯,要重新检查,危险是很高的。

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

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