只需1分钟,看完你就知道耦合什么意思 ?( 二 )


public class A { public void say() { System.out.println("I am A"); }}public class B { public void put(A a) { a.say(); }}
从上面这个例子中我们可以看出来,A类 和 B类 之间存在一种很强的一个联系,我们把这种联系称为强耦合关系,B类的 put方法 参数必须是 A类类型,不可以是 非A类类型 。
当然了,既然有强耦合关系当然也存在所谓的弱耦合关系,弱耦合也就是我们俗说的低耦合 。那么请看下面这段代码:
public interface IBase { void say();}public class A implements IBase {

只需1分钟,看完你就知道耦合什么意思 ?

文章插图
@Override public void say() { System.out.println("I am A"); }}public class B implements IBase { @Override public void say() { System.out.println("I am B"); }}public class C { public void put(IBase base) { base.say(); }}
上面这段代码中 C类 与 A类、B类之间就存在一种弱耦合关系,C类 的 put方法 的参数可以是 A类类型 也可以是 B类类型,不像强耦合关系中必须是 A类类型 其他类型皆不可的情形 。
我们实现低耦合就是对两类之间进行解耦,解除类之间的直接关系,将直接关系转换成间接关系,和上面代码一样,这种思想利用了多态的思想,不过一般情况都是使用接口的方式来实现解耦的 。通常情况下我们在系统分离时只是以接口的方式提供服务,供其他的模块进行使用 。在模块内部有大量的信息是不要向外部暴露的,所以模块在设计时访问域的定义就要划分好,防止因为访问域的定义而对模块的信息造成破坏 。
【只需1分钟,看完你就知道耦合什么意思 ?】“高内聚,低耦合”,用一句话概括就是写的代码尽可能专一的完成一个任务,且各段代码尽量模块化互相独立 。可能大家觉得这只是开发要懂的内容,但如果运维想深入的话这个也是绕不过去的,理解了才能更好的去设计一个系统,保证系统高效稳定 。