本帖最后由 air123456789 于 2010-08-13 16:12:27 编辑

解决方案 »

  1.   

    2楼gomoku的解释很形象了。
    耦合就是联系,完成一个工作需要多个功能彼此交织着,删掉其中一个都会带来其他错误,或是想抽出一个模块很难。低耦合就是尽量吧复杂的联系在内部完成,对外提供一个或多个接口。
      

  2.   

    典型的耦合的代码论坛里到处都是。比如常问的:我窗体1中如何操作窗体2中的控件。这就是典型的高耦合设计。
    你的form1的某些功能要依赖form2的某个控件,当form2删掉这个控件,或是想吧form2界面修改甚至删掉,则需要连带的调整form1,如果form1实现的功能希望独立抽出来,则需要被迫带上form2。如果form2又用到了form3,等等。这样组织的一个软件就是彼此相互交织无法拆解开,这就是高耦合设计。我们的目标就是低耦合,尽量一块代码不依赖别人代码,这也不是百分之百就简化操作的,相反的,我们需要别的界面提供帮助的时候,提供属性,事件,回调委托的方式实现,那使用之前就要检查有效性,避免没有注册,另一个界面没有更新,没有操作等行为。不过这样,form1可以独立抽出来放在任何一个地方使用了。