依賴倒轉

依賴倒轉

依賴倒轉--指在軟體裡面,把父類都替換成它的子類,程式的行為沒有變化。簡單的說,子類型能夠替換掉它們的父類型。依賴性倒轉其實可以說是面向對象設計的標誌,用哪種語言編程並不是很重要。

定義

一個軟體實體如果使用的是一個父類的話,那么一定適用於其子類,而且它察覺不出父類對象和子類對象的區別。也就是說,在軟體裡面,把父類都替換成它的子類,程式的行為沒有變化。簡單的說,子類型能夠替換掉它們的父類型。

依賴倒轉原則

A:高層模組不應該依賴於底層模組,兩個都應該依賴抽象。
B:抽象不應該依賴於細節,細節應該依賴於抽象。

詳細

依賴性倒轉其實可以說是面向對象設計的標誌,用哪種語言編程並不是很重要。如果編程時都考慮的是面向抽象編程而不是面向細節編程,即程式中所有的依賴關係都是終止於抽象類或接口,那就是面向對象的設計,反之就是過程化的設計了。

例子

public interface AbstractStranger{
abstract void operator();
}
public class Friend implements AbstractStranger{
public void operator(){};
}
public class SomeOne{
public void operator(){
AbstractStranger stranger=new Friend();
stranger.operator();
}
}

分類

零耦合關系(Nil Couping):兩個類沒有耦合關係。
具體耦合關係(Concrete Couping) :發生在兩個具體的(可實例化)的類之間,經由一個類對一個具體的類的調用而引發的。
抽象耦合關係(Abstract Couping) :發生在一個具體類和一個抽象類(或java接口)之間,使兩個必須發生關係的類之間存在最大的靈活性。

相關詞條

相關搜尋

熱門詞條

聯絡我們