天天看點

設計模式之6大原則(3)-依賴倒置原則

依賴倒置原則

所謂依賴倒置原則(Dependence Inversion Principle)就是要依賴于抽象,不要依賴于詳細。簡單的說就是要求對抽象進行程式設計,不要對實作進行程式設計,這樣就減少了客戶與實作子產品間的耦合。

一個應用中的重要政策決定及業務模型正是在這些高層的子產品中。也正是這些模型包括着應用的特性。可是,當這些子產品依賴于低層子產品時,低層子產品的改動将會直接影響到它們,迫使它們也去改變。這樣的境況是荒謬的。應該是處于高層的子產品去迫使那些低層的子產品發生改變。應該是處于高層的子產品優先于低層的子產品。不管怎樣高層的子產品也不應依賴于低層的子產品。并且,我們想可以複用的是高層的子產品。通過接口實作的形式,我們已經可以非常好地複用低層的子產品了。當高層的子產品依賴于低層的子產品時,這些高層子產品就非常難在不同的環境中複用。可是,當那些高層獨立于低層子產品時,它們就能非常easy地被複用了。這正是位于架構設計的最核心之處的原則。

總結:依賴倒置原則

A.高層次的子產品不應該依賴于低層次的子產品,他們都應該依賴于抽象。

B.抽象不應該依賴于詳細,詳細應該依賴于抽象。