IOC控制反转和DI依赖注入

llovebo

共 2068字,需浏览 5分钟

 ·

2021-04-20 11:30

  1. IOC控制反转

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

        使用控制反转一般步骤:

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

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

                            db692cbd0ba92ff30805158c2a52731b.webp

                            1f5bd74ba6eea53300cb71dd9e0bb7c2.webp

                            d775986d9524faa6df61437f27eb9e99.webp

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

   2.DI依赖注入

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

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

        4963a9f6e87347200611ede1a323182f.webp

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

        a7241de1bf11a63d468926aff890dd14.webp

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

       ac0a07ef74eb0cc28970a651c4845624.webp

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

       001cf5efc1ce28bdd4069d4be0285493.webp

  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文件夹

           29a8d551aeef274afdb2f3c44c021f48.webp

      (2)实现一个接口

           a13131ee503d35fc9290a7a8678e2fa2.webp

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

           75b2ffd36aeafbbf0dbef6c4049d7725.webp   499e703601041e536a7092dd1865c49f.webp

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

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

          5187d15033bb2059aabe1232b6b6c381.webp

           a0cdc04bd5cc2b964c7bb100587e0702.webp

           7c4686d6a52eba702cf5a64d09eb2b1f.webp

           2641a4b011261ee1ece08711d69c629c.webp

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

           84911f53ffef361c37084e1339fe39bd.webp

           ea41e9b83660a227439d32c0c4718cee.webp

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

           06f492cc3eb70b5b4a2f8762c483a253.webp

           2f817fa2bfba1c4ca2fd4eb5f29d2eed.webp

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

           41ec6b9559187fdcf10f303a3b09c619.webp

           5862513725c10a6de9de5995d0b2411c.webp

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


出处:https://www.tnblog.net/77250798/article/details/2962


支持小微:

腾讯云 搞活动了?玩服务器的可以搞搞。  就这几天时间。

轻量 1C2G 50GB SSD盘 255元/3年

链接:https://curl.qcloud.com/qINmPBX9


版权申明:本文来源于网友收集或网友提供,如果有侵权,请转告版主或者留言,本公众号立即删除。

右下角,您点一下在看图片eb8b94c371433f9c51d75201ad84fc04.webp

小微工资涨1毛

商务合作QQ:185601686






浏览 29
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报