以前只要两个类便可以实现的东西现在要三个或都更多?这样做有多少必要?
地下组织为了尽量的保全自己,防止外部世界发现、破坏组织的机体,往往会采用各种各样的方法来隐蔽自身。其中的单线联系就是这样的一个有效方法。
所谓单线联系就是:A <---> B <---> C <---> ... <---> Core. 如果这个链条中的某一个节点出了问题,他影响的只是和他相邻的两个节点,只需要对这相邻的两个节点做一些小小的处理就行了(比如,杀掉或躲藏相邻的节点),对于其他的节点不会有太多的影响。如果A、B、C、...之间是相互知道了解的话,很可能这个组织会被一锅端掉了!呵呵
同样的道理,decoupling的好处就在于class之间尽量少的be aware of其他class的存在,这样如果这个class需要更改,那么只需要对它所aware of的class作出调整即可。如果系统的decoupling做的不好的话,很可能这个系统最终会变得unwieldy。
我的理解是,通过解耦,可以使对象更明确的对自己负责,降低对其他对象的责任。其实就是一个责任分配的问题。