四、初识耦合(一)

时间:2021-12-12 23:02:51

什么是耦合

  我们总是听到说这有耦合,那要解耦。耦合看起来很高大上的名词,实际上耦合代表的就是各种元素之间的依赖性和相关性。

耦合的种类

  • 数据之间的耦合;例如:
class Person{
      string name;
     int age;
 }

  name和age属于同一个类里面,他们就产生了耦合

  • 函数之间的耦合;

  同理,一个类中的两个函数也有相关性。如果两个函数之间有调用,即使不在同一个类中,也有耦合。例如:DriverCar()函数就和FillFuel函数产生了耦合。 

public DriverCar(){
    if(isFuelEmpty){
        station.FillFuel(this.car);
    }
    Drive();
}
  • 数据和函数之间的耦合;

不是所有的耦合都是不好的

  我们平时过于强调解耦,所以很多人误以为耦合是个贬义词。这里有必要澄清一下:其实大多数的耦合是业务逻辑的要求,是为了满足正当的需求所产生的。对耦合要一分为二地看待有好耦合,也有坏耦合。

  好耦合:对应业务需求或者系统限制,我们有时还要强化它:将隐式的变成显式的,将松散的变成内聚的。

  坏耦合:预料之外的耦合,尽量剔除。