加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

依赖注入的好处

发布时间:2020-12-14 05:40:30 所属栏目:百科 来源:网络整理
导读:DI其实是JAVA里一个很基础的概念,相信任何人都用过,在Spring里,把它总结为Dependency Injection,方便了程序构架的过程,并且实现low coupling。举个简单的例子说明,两段代码: ? //MyObj ? public ? class ?MyObj{? ??? public ?MyObj(){? ??????...? ?

DI其实是JAVA里一个很基础的概念,相信任何人都用过,在Spring里,把它总结为Dependency Injection,方便了程序构架的过程,并且实现low coupling。举个简单的例子说明,两段代码:

?

 
 
  1. //MyObj?
  2. public?class?MyObj{?
  3. ???public?MyObj(){?
  4. ??????...?
  5. ???}?
  6. ???public?void?doThings()?{?
  7. ??????//process?here?
  8. ???}?
  9. }?
  10. ?
  11. //?code?1?
  12. public?class?Test1{?
  13. ...?
  14. ???public?void?doProcess()?{?
  15. ??????MyObj?mo?=?new?MyObj();?
  16. ??????mo.doThings();?
  17. ???}?
  18. }?
  19. ?
  20. //?code?2?
  21. public?class?Test2{?
  22. ???MyObj?mo;?
  23. ?
  24. ???public?void?setMo(MyObj?mo){?
  25. ??????this.mo?=?mo;?
  26. ???}?
  27. ?
  28. ???public?void?doProcess(){?
  29. ??????this.mo.doThings();?
  30. ???}?
  31. }?

上面的例子,可以范县最明显的优缺点就是当MyObj这个类有所改变的时候,Test1必须也要改变,而Test2由于使用了DI,所以不论Myobj这个类如何变化,只要在需要调用Test2.doProcess()的地方注入已经定义好的MyObj就可以了。

总结一下,DI大大减少了程序的coupling,而且提高了程序的重复使用性,方便独立的unit test,并且方便将来的程序改动。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读