IoC想到的.

Inversion of Control
--Dependency Lookup
--Dependency Injection
--Setter Injection
--Constructor Injection

控制反转的一般表示形式.
依赖注入. 由外部框架管理对象之间的依赖关系.查找资源的逻辑从应用代码中抽取出来,交由框架容器负责.
依赖查找. 一般由工厂对象,如对象注册表.通过键名查找服务对象. JNDI,手动使用BeanFactory, 自己管理的工厂对象.
接口回调. 上面两种的服务一般都是业务对象之间的依赖关系,而接口回调更多的是与框架,容器的交互. 客户代码实现框架,容器预留的接口, 运行时,框架容器调

用扩展代码,将对象注入. Servlet接口,注入的HttpRequest,HttpResponse对象. Spring的BeanFactoryAware注入的BeanFactory对象,ServletContextAware注入

的ServletContext, Struct2的 ServletContextAware 等等这些对象生命周期的回调接口. 实现回调接口的目的一般都是使用接口注入的服务对象,也有命令式的回调

接口,如Spring的InitializingBean 和 DisposableBean.
不同的反转形式,并不是要消除掉它们的依赖关系,而是使它们的依赖关系更简单,职责更清晰,每个类的任务更明确.而不是在一个业务对象里充满了查询其它对象

的代码,它们的问题不在同一水平线上,至少业务逻辑和查找逻辑不应在同一类里,使用Extract Class将查找对象的逻辑分离出去.这三种形式的基本设计作法都应该

使用接口将实现代码进行隔离.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值