依赖倒置 与 接口隔离

依赖倒置 (DIP)

  • 原始定义
  a. 高层模块不应依赖低层模块,两者应都依赖其抽象
  b. 抽象不应依赖细节
   c. 细节应依赖抽象
    (细节即实现类,抽象即接口或抽象类)
  • 在Java中的表现:
  a. 模块间的依赖通过抽象发生,实现类之间不发生直接的依赖关系,其依赖关系是通过接口或抽象类产生的
  b. 接口或抽象类不依赖于实现类
  c. 实现类依赖接口或抽象类

在开发中使用依赖倒置还能帮助测试,比如JMock 和 easyMock都可以对接口进行Mock,单元测试更加方便。两个类有依赖关系,只要制定两者接口,就可以独立开发,单元测试也可以独立运行,而TDD(Test-Driven Development,测试驱动开发)开发模式就是依赖倒置原则的最高应用。

依赖倒置的三种方式
- 构造函数方式
- 方法注入
- 接口注入(本质上和方法注入差不多,还会引入更多的类,一般不推荐)

依赖倒置 可以轻松对待需求变化的情况,使项目容易拓展 和 维护

接口隔离

  • 尽量建立单一的接口,不要建立臃肿的接口,但也不要一个方法一个接口,那样粒度太细,尽量做到一个业务模块 对应一个接口
  • 单一接口粒度很小,使系统的灵活性上升,但会是类结构复杂度上升,需要仔细权衡
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值