倒置依賴原則(DIP)

原則
A.高層次的模塊不應該依賴于低層次的模塊,他們都應該依賴于抽象。
B.抽象不應該依賴于具體實現,具體實現應該依賴于抽象
概念
依賴倒置原則(Dependence Inversion Principle)是程序要依賴于抽象接口,不要依賴于具體實現。簡單的說就是要求對抽象進行編程,不要對實現進行編程,這樣就降低了客戶與實現模塊間的耦合。

依賴倒置有三種方式來實現
1、通過構造函數傳遞依賴對象; 比如在構造函數中的需要傳遞的參數是抽象類或接口的方式實現。
如代碼

public class Notification
{
    private IMessageService _iMessageService;

    public Notification(IMessageService _messageService)
    {
        this._iMessageService = _messageService;
    }
    public void PromotionalNotification()
    {
        _iMessageService.SendMessage();
    }
}

2、通過setter方法傳遞依賴對象; 即在我們設置的setXXX方法中的參數為抽象類或接口,來實現傳遞依賴對象。
如代碼

public interface IDriver{
    public void setCar(ICar car);
    public void driver();
}

public class Driver implements IDriver{
  private ICar car;
public void setCar(ICar car){
    this.car=car;
}
public void driver(){
 this.car.run();
}
 

}

3、接口聲明實現依賴對象,也叫接口注入;

即在函數聲明中參數為抽象類或接口,來實現傳遞依賴對象,從而達到直接使用依賴對象的目的。

注:項目越大使用該原則好處越大

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,039評論 25 709
  • 單一職責原則 (SRP) 全稱 SRP , Single Responsibility Principle 單一職...
    米莉_L閱讀 1,863評論 2 5
  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,697評論 18 399
  • 云在天上需等待 黑云翻滾始下來 由少積多成氣候 風運時轉青天開 太公釣魚渭水旁 八十等來周文王 重耳流亡十九年 勾...
    我為云朵閱讀 434評論 0 3
  • 如果一件事情想不通能不能不要再去想了,只是自己心里的遺憾,但請別影響你既定的目標! 想念考研這件事是從一開始上大學...
    自說自話的灑家閱讀 440評論 0 0

友情鏈接更多精彩內容