咱們的許多設計思想中不少地方都體現瞭解耦合的思想,這是應對易於變化的一種很好的解決手段,而在這些手段中最重要的解決方法就是添加中間層,所謂添加中間層 好比咱們常見的面向接口編程,其實就是添加了一箇中間的層次,屏蔽掉了一些變化,還有就是咱們經常使用的設計模式,什麼代理啊,faceda等等,都是採用了這樣的一種思想。
編程
在沒有使用代理模式的時候,使用者和被使用者耦合。設計模式
使用代理模式以後,使用者和代理耦合,代理和被使用者耦合。設計
爲何要解耦呢?一般是應爲變化,需求變化致使最終的程序實現變化,若是耦合度高,出現變化時所須要修改的程序就多,若是進行解耦,那修改的程序就少(被解耦的部分已經不須要修改,由於和變化的地方沒有直接的關係了)。代理