java中的松耦合性

来源:百度知道 编辑:UC知道 时间:2024/05/21 22:58:36
具体是什么意思,最好友例子,谢谢

举个简单的例子啦
有一百人分成10个团队做开发
你写了一个类A,供其他人调用,怎么办?

简单的方法就是把这个类打成jar包,然后给他们
他们就A a = new A();
然后调用a的方法。

但是有一天,A类升级了,怎么办?
再打jar包,再给其他9个组每个组发一份,告诉他们,替换一下以前的jar包。

有可能你的a中,方法签名还发生了变化,那么他们就得重新改代码来适应你新的jar包了。

如果这样的事频繁发生呢,那么你就等着挨骂吧。
这就是紧耦合,他们的程序紧密地耦合着你的程序。

如果是松耦合的话,我想我可能会定义一个接口给他们,然后IOC的方式将实现类给他们,最好是远程的通过webservice的方式进行调用,这样我的A更新了,只需要切换掉远程的A的实现类,他们根本啥也不知道,啥也不用改,就更新了功能,怎么样,是不是很方便?

这就是松耦合

其实对于每一个程序员来说最高的境界就是要做到:高内聚,低耦合。
但是做到又很不容易,松耦合是应该对于你整个程序来说的,也许是某个模块与模块之间的关系等等。。
反正我所知道的能体现松耦合的地方就是Spring 框架里的IOC,也就是反转控制,具体怎么实现的你在看看资料吧,三言两语说不清楚。

请在理解接口和抽象类后参考设计模式! 策略 等