首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

IoC想到的

2012-10-21 
IoC想到的.Inversion of Control--Dependency Lookup--Dependency Injection--Setter Injection--Construc

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将查找对象的逻辑分离出去.这三种形式的基本设计作法都应该

使用接口将实现代码进行隔离.

热点排行