tnblog
首页
视频
资源
登录

IOC控制反转和DI依赖注入

5486人阅读 2019/12/4 18:31 总访问:413410 评论:0 收藏:0 手机
分类: ASP.NET
  1. IOC控制反转

        概念:把类与类的控制器交给容器就是控制反转

        使用控制反转一般步骤:

              (1) 准备一个容器(创建一个类)

                 (2) 配置类与类之间的关系(注意引入插件)

                            

                           

                            

                 (3)从容器里面拿到需要的对象(这个过程理解为依赖注入)

   2.DI依赖注入

         概念:直接从容器里边拿就是依赖注入

   3.类与类关系模式(生命周期)

       

        单例模式:ContainerControlledLifetimeManager(刷新数据不会发生改变)

        

        瞬时模式:TransientLifetimeManager   RegisterType(刷新数据会不断发生改变)

       

       同一线程同一对象:PerThreadLifetimeManager(刷新数据不会发生改变)

       

  4.类配置文件实现依赖注入

      首先在Web.config配置文件里配置文件(注意是在configuration下面第一个):

          <configSections>

            <section name="unity" type="Microsoft.Practices.Unity.Configuration.UnityConfigurationSection,Microsoft.Practices.Unity.Configuration"/>

          </configSections>

          <unity>

            <container name="UnityDll">

              <register type="UnityDAL.Interface.IUnityDAL,UnityDAL" mapTo="UnityDAL.Userinfo,UnityDAL">

                <lifetime type="Microsoft.Practices.Unity.ContainerControlledLifetimeManager,Microsoft.Practices.Unity" />

              </register>

            </container>

          </unity>

     标准写法:在register type里面分别写入名称空间.类名,程序集

   5.操作具体步骤:

     (1) 创建一个类库分别创建Interface和Implments文件夹

           

      (2)实现一个接口

           

      (3)在Implments文件夹下分别创建类并且继承接口加入测试数据

              

      (4)在主项目中创建Unity文件夹(可根据需求自定义)并且在里面创建类,在类里面配置类与类之间的关系

          (注意引用配置文件 Microsoft.Practices.Unity.Configuration.dll,并且引用命名空间,在引用里边必须带有System.configuration)

          

           

           

           

      (5)关系创建好之后在Web.config里面进行配置运行环境(注意;configSections必须在configuration下面)

           

           

      (6)配置文件之后在控制视图里面的方法进行调用配置文件类下面的方法

           

           

     (7)在前台进行输出测试

           

           

      (8)使用此方法最主要的是不需要停止项目直接在上面所述修改!

评价
当你知道迷惑时,并不可怜,当你不知道迷惑时,才是最可怜的。
排名
6
文章
6
粉丝
16
评论
8
{{item.articleTitle}}
{{item.blogName}} : {{item.content}}
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2024TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术