倒置依赖原则(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、接口声明实现依赖对象,也叫接口注入;

即在函数声明中参数为抽象类或接口,来实现传递依赖对象,从而达到直接使用依赖对象的目的。

注:项目越大使用该原则好处越大

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 178,508评论 25 709
  • 单一职责原则 (SRP) 全称 SRP , Single Responsibility Principle 单一职...
    米莉_L阅读 1,856评论 2 5
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 34,596评论 18 399
  • 云在天上需等待 黑云翻滚始下来 由少积多成气候 风运时转青天开 太公钓鱼渭水旁 八十等来周文王 重耳流亡十九年 勾...
    我为云朵阅读 434评论 0 3
  • 如果一件事情想不通能不能不要再去想了,只是自己心里的遗憾,但请别影响你既定的目标! 想念考研这件事是从一开始上大学...
    自说自话的洒家阅读 439评论 0 0

友情链接更多精彩内容