寂寞季节

因为彼此寂寞,我们走进共同季节
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

如何低耦合高内聚。

Posted on 2004-11-01 09:43  情怀依旧  阅读(2984)  评论(1)    收藏  举报
引用(O6Z)
    减少耦合首先要从判断什么是耦合开始,这个问题我们不会有太多的分歧。
我们都应该明白耦合不是不可避免的,所以完全的去耦合根本就不可能。而实际上任何的应用在现实中,以及在我的认识中都受到其他因素的影响。这也使我们的设计实际上根本就不可能完全的达到去耦合。于是我们可以从职责的细分开始,也就是让职责可以在一个合适的粒度上,这样这个粒度的职责就总是被调用,而不是去调用别人然后又被调用这样的互相紧密关联。
同时我们也要注意到去耦合根本就不只是一个存在于面向对象领域的特殊概念,而是在任何的方式下都存在的问题。我也要注意到去耦合所要解决的问题是更好的面对变更,或者说是更好的可以被扩展。忘记这两点,单纯的探讨去耦合是没有意义的。也就是说我们要认识到,如果你的程序需求完全的确定,不需要考虑变更,你为区耦合作出的努力根本就没有价值。而且去耦往往还意味着,对于运行效能的降低。而实际上去耦的同时往往可能会带来新的潜在的耦合。实际上这里还是要落实到你的程序段落的职责是不适很明确的问题。
而耦合会带来系统的关联钝化,让你很难确认你的关注点。这其实也带来了你去耦的难度。而这实际上还是你的系统职责不清稀带来的去耦隐患。你要做的还是明确各个部分的职责。
而说到最后,实际上情况非常简单,就是你明确你的系统的职责。这可以用单一职责规则来得到保障,也就是你的程序中一个要素变化的原因,就只能是一个,一个改变只能带来一个直接的结果。任何的去藕无非就是在这个原则下就职责和职责的原因以及后果进行细分和组织。