• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
E流冷涧
开始归纳总结。
博客园    首页    新随笔    联系   管理    订阅  订阅

IOC

定义:IOC(Inversion of Control)控制反转模式,意味着去除所有由该类产生但不由该类直接负责的对象实例,而改由外界传入。通过IoC模式可以彻底解决耦合,它把耦合从代码中移出去,放到统一的XML文件中,通过一个容器在需要的时候把这个依赖关系形成,即把需要的接口实现注入到需要它的类中。

控制反转:传统应用,程序事先定义好接口的实现。而IOC模式里程序接口的实现是由“容器”(程序员控制)掌管,程序由自发创建接口的实现变为容器(程序员指挥容器)指挥创建,这可能就是所谓“控制反转”的原因了。

  传统的DOC程序->windows应用,是一种控制反转的应用。

  传统没有IOC控制的应用->IOC控制实现的应用也是一种控制反转的应用。

 

IOC: 从以下几点可以看出,IOC将设计模式运用到了炉火纯青的地步。

  1,解决复杂调用关系:如果你的项目中有非常多的类;调用关系很复杂,而且调用关系随时都可能变化,那么,使用无需照顾调用关系的Ioc容器无疑是减轻开发负担的首选。   

  2,实现好的工厂模式:可以把IoC模式看做是工厂模式的升华,可以把IoC看作是一个大工厂,只不过这个大工厂里要生成的对象都是在XML文件中给出定义的,然后利用高级语言 的“反射”编程,根据XML中给出的类名生成相应的对象。

  3,解决耦合问题(可以看做是工厂模式的作用嘛):通过文本的配件文件进行应用程序组件间相互关系的配置,而不用重新修改并编译具体的代码。但需要重新运行服务来使配置文件被重新读取。

  4,使用接口的好处:IOC使用接口来调用对象,只要对象互相尊重(respect)对方的接口,对象的封装性也就得到了良好地维护,在运行期间,任何对象都能够被替换为其他相同类型的对象。

 

IOC容器:实现了IOC模式的IOC容器。

posted @ 2010-08-26 13:52  wzc998  阅读(723)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3