7轻量级容器和控制反转.pptVIP

  • 9
  • 0
  • 约2.84千字
  • 约 33页
  • 2018-06-14 发布于福建
  • 举报
7轻量级容器和控制反转

控制反转 IOC之前的Bean协作关系 直接实例化并持有 控制反转 “直接实例化并持有”的缺点: XsService中硬编码创建了XsDao,如果需要另一种Dao的实现,比如 ZzxsDao(在职学生Dao),则需要修改XsService的源码,就是说,XsService组件不能脱离XsDao的实现。 XsDao的实例无法被其他Bean共享,它的生命周期被定义在Service中。 如果XsDao需要应用其他的资源,例如DataSource,则XsService需要维护一个DataSource,而这完全不是作为上层组件Service层的职责。 控制反转 如果系统中有大量组件,其生命周期和相互依赖的关系如果由组件自身来维护,不但大大增加了系统的复杂度,而且会导致组件之间极为紧密的耦合,继而给测试和维护带来极大的困难。 所以核心问题就是如何组装大量的组件,使之配合完成复杂系统功能? 控制反转 使用IOC的Bean协作关系 控制反转 带来的好处: XsService不必关心如何创建XsDao的实例,也不必关心XsDao的具体实现,只需要使用它就可以了。大大简化了XsService。 XsDao的实例由IOC容器管理,可以在多个组件之间共享。 AOP AOP与OOP OOP是一种成功的编程范式,但它没有办法帮我们把四下散落的代码模块化 AOP的目标是将横切性(c

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档