我们的许多设计思想中很多地方都体现了解耦合的思想,这是应对易于变化的一种很好的解决手段,而在这些手段中最重要的解决方法就是添加中间层,所谓添加中间层 比如我们常见的面向接口编程,其实就是添加了一个中间的层次,屏蔽掉了一些变化,还有就是我们常用的设计模式,什么代理啊,faceda等等,都是采用了这样的一种思想。
在没有使用代理模式的时候,使用者和被使用者耦合。
使用代理模式之后,使用者和代理耦合,代理和被使用者耦合。
为什么要解耦呢?通常是应为变化,需求变化导致最终的程序实现变化,如果耦合度高,出现变化时所需要修改的程序就多,如果进行解耦,那修改的程序就少(被解耦的部分已经不需要修改,因为和变化的地方没有直接的关系了)。