struts2技术内幕笔记
5.生命之源-xwork中的容器
为了更好地管理好容器的生命周期,我们有必要在程序逻辑中引入一个额外的编程元素,这个元素就是容器(Container)
ioc:每个对象自身对于逻辑的执行能力,被其所依赖的对象反向控制了,这就是控制反转的本质含义
程序运行过程中自行管理的三大弊端
1.对象将频繁创建,效率大大降低(尽管在大多数情况下,这些对象都是无状态的单例对象)
2.对象的创建逻辑与月舞逻辑代码高度耦合,使得一个对象的逻辑关注度大大分散
3.程序的执行效率大大降低,由于无法区分明确的职责,很难针对对象实现的业务逻辑进行单元测试
容器设计原则
1.容器应该被设计成一个全局的、统一的编程元素
2.在最大程度上降低容器对业务逻辑的入侵
3.容器应该提供简单而全面的对象操作接口
容器由一系列对象的操作接口构成,其中应该至少包含获取对象实例以及管理对象之间的依赖关系这两类操作方法。
它是一个辅助的编程元素,在整个系统中应该被实例化为一个全局的、单例的对象。
?