IOC控制反轉(zhuǎn)和DI依賴注入
IOC控制反轉(zhuǎn)
? ? 概念:把類與類的控制器交給容器就是控制反轉(zhuǎn)
? ? 使用控制反轉(zhuǎn)一般步驟:
? ? ? ? ? (1) 準(zhǔn)備一個(gè)容器(創(chuàng)建一個(gè)類)
? ? ? ? ? ? ? ? ?(2) 配置類與類之間的關(guān)系(注意引入插件)
? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ?(3)從容器里面拿到需要的對(duì)象(這個(gè)過程理解為依賴注入)
? ?2.DI依賴注入
? ? ? ? ?概念:直接從容器里邊拿就是依賴注入
? ?3.類與類關(guān)系模式(生命周期)
? ? ? ??
? ? ? ? 單例模式:ContainerControlledLifetimeManager(刷新數(shù)據(jù)不會(huì)發(fā)生改變)
? ? ? ??
? ? ? ? 瞬時(shí)模式:TransientLifetimeManager ? RegisterType(刷新數(shù)據(jù)會(huì)不斷發(fā)生改變)
? ? ? ?
? ? ? ?同一線程同一對(duì)象:PerThreadLifetimeManager(刷新數(shù)據(jù)不會(huì)發(fā)生改變)
? ? ? ?
? 4.類配置文件實(shí)現(xiàn)依賴注入
? ? ? 首先在Web.config配置文件里配置文件(注意是在configuration下面第一個(gè)):
??????????<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>
? ? ?標(biāo)準(zhǔn)寫法:在register type里面分別寫入名稱空間.類名,程序集
? ?5.操作具體步驟:
? ? ?(1) 創(chuàng)建一個(gè)類庫分別創(chuàng)建Interface和Implments文件夾
? ? ? ? ? ?
? ? ? (2)實(shí)現(xiàn)一個(gè)接口
? ? ? ? ? ?
? ? ? (3)在Implments文件夾下分別創(chuàng)建類并且繼承接口加入測(cè)試數(shù)據(jù)
? ? ? ? ? ?
? ?
? ? ? (4)在主項(xiàng)目中創(chuàng)建Unity文件夾(可根據(jù)需求自定義)并且在里面創(chuàng)建類,在類里面配置類與類之間的關(guān)系
? ? ? ? ? (注意引用配置文件 Microsoft.Practices.Unity.Configuration.dll,并且引用命名空間,在引用里邊必須帶有System.configuration)
? ? ? ? ??
? ? ? ? ? ?
? ? ? ? ? ?
? ? ? ? ? ?
? ? ? (5)關(guān)系創(chuàng)建好之后在Web.config里面進(jìn)行配置運(yùn)行環(huán)境(注意;configSections必須在configuration下面)
? ? ? ? ? ?
? ? ? ? ? ?
? ? ? (6)配置文件之后在控制視圖里面的方法進(jìn)行調(diào)用配置文件類下面的方法
? ? ? ? ? ?
? ? ? ? ? ?
? ? ?(7)在前臺(tái)進(jìn)行輸出測(cè)試
? ? ? ? ? ?
? ? ? ? ? ?
? ? ? (8)使用此方法最主要的是不需要停止項(xiàng)目直接在上面所述修改!
出處:https://www.tnblog.net/77250798/article/details/2962
支持小微:
騰訊云 搞活動(dòng)了?玩服務(wù)器的可以搞搞。? 就這幾天時(shí)間。
輕量?1C2G 50GB SSD盤 255元/3年
鏈接:https://curl.qcloud.com/qINmPBX9
版權(quán)申明:本文來源于網(wǎng)友收集或網(wǎng)友提供,如果有侵權(quán),請(qǐng)轉(zhuǎn)告版主或者留言,本公眾號(hào)立即刪除。
右下角,您點(diǎn)一下在看圖片
小微工資漲1毛
商務(wù)合作QQ:185601686
