依賴倒轉

依賴倒轉

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

基本介紹

  • 中文名:依賴倒轉
  • 外文名:Rely on reverse
  • 原則:不應該依賴於底層模組
  • 細節:應該依賴於抽象
  • 詳細:面向對象設計的標誌
  • 例子:interface AbstractStranger
定義,倒轉原則,例子,分類,

定義

高層模組不應該依賴低層模組,二者都應該依賴其抽象;抽象不應該依賴細節;細節應該依賴抽象。

倒轉原則

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接口)之間,使兩個必須發生關係的類之間存在最大的靈活性。

相關詞條

熱門詞條

聯絡我們