zoukankan      html  css  js  c++  java
  • IOC容器

    IOC概念

    控制反转(Inversion of Control ),是一个重要的面向对象编程法则来削减计算机程序的耦合问题,也是轻量级的Spring框架的核心。

    反射:

     

    依赖注入(Dependency Injection):

    ICoreDbSession dbSession=CallContext.GetData("Dbsession") as ICoreDbsession;

    if (dbSession==null){

    dbSession=SpringHelper.GetObject<ICoreDbSession>("DBSession");//拿到了容器封装的上下文ContextRegistry.GetContext()

     

    CallContext.SetData("DbSession",dbSession);

    }

     

     

     

    配置文件:

    <object id="DBSession" type="ITOO.FreshNewReport.DAL.DBSession,ITOO.FreshNewReport.DAL" singleton="false">

    <property name="StudentManageDals" ref="StudentManageDals">

    </object>

     

     

    <object  id="StudentManageDals" type="ITOO.FreshNewReport.DAL.StudentManageDals,ITOO.FreshNewReport.DAL" singleton="false">

     

    依赖查找(Dependency Lookup):

    IFamilyInfoBll  FamilyInfoBll=SpringHelper.GetObject<IFamilyInfoBll  >("FamilyInfoBll")

    IOC优缺点:

    好处:

    把对象生成放在了xml里面定义,更换子类很方便,实现热插拔。

    缺点:

    1.生成类的步骤变多了

    2.生成对象在效率上有损耗

    3.缺少IDE重构的操作支持,要手动修改类

    我的个人理解:

    IOC容器,就是在程序运行的时候,首先读取配置文件中的<object>中的关于IOC的代码,实例化出IOC中给出的类型、具体的类;然后在B层,或者WCF层,都可以将具体的类强转成接口,来完成类的实例化。

    依赖注入:

    可以注入自己想要的属性,容器提供回调接口和上下文条件给组件。把符合依赖关系的对象通过JavaBean属性或者构造函数传递给对象。

    依赖查找:

    可以通过查找的方法查找自己实例化的类。通过容器提供的API来查找资源与协作对象。

  • 相关阅读:
    骨场经历
    聚财与聚人
    腾讯正式开始了QQForMAC的测试
    fiddler
    soap协议基本结构
    js小判断
    控制器
    resharper快捷键
    如何让datetime类型数据接受并且产出long或string类型?
    AES加密,解密方法
  • 原文地址:https://www.cnblogs.com/wangmei/p/4709354.html
Copyright © 2011-2022 走看看