模式的解藕

         
thy3368
04-02-01 6 664

有模式的解藕,必然在其它地方有藕合,只不过把这条链子加长了,

以前只要两个类便可以实现的东西现在要三个或都更多?这样做有多少必要?

banq
2004-02-01 23:57

能拖则拖,拖到哪里算哪里,这种思路在实际生活中很管用,从社会到个人之间债务等都是这样啊。

thy3368
2004-02-03 11:45

你的意思是说有new 就会出现实现类,这样就限制了多态性,所以把new 尽量向后移,对吗?

jrog
2004-02-06 10:22

关于decoupling的一个比较形象的比喻是“犯罪链”(或者说地下组织)

地下组织为了尽量的保全自己,防止外部世界发现、破坏组织的机体,往往会采用各种各样的方法来隐蔽自身。其中的单线联系就是这样的一个有效方法。

所谓单线联系就是:A <---> B <---> C <---> ... <---> Core. 如果这个链条中的某一个节点出了问题,他影响的只是和他相邻的两个节点,只需要对这相邻的两个节点做一些小小的处理就行了(比如,杀掉或躲藏相邻的节点),对于其他的节点不会有太多的影响。如果A、B、C、...之间是相互知道了解的话,很可能这个组织会被一锅端掉了!呵呵

同样的道理,decoupling的好处就在于class之间尽量少的be aware of其他class的存在,这样如果这个class需要更改,那么只需要对它所aware of的class作出调整即可。如果系统的decoupling做的不好的话,很可能这个系统最终会变得unwieldy。

guyuanwuxin
2004-02-06 10:37

对于能拖就拖的观点本人持保留意见

2Go 1 2 下一页