天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

asp.net中控制反轉(zhuǎn)的理解(文字+代碼)

對IOC的解釋為:“Inversion of control is a common characteristic of frameworks, so saying that these lightweight containers are special because they use inversion of control is like saying my car is special because it has wheels.”

我想對這一概念執(zhí)行 一個(gè)個(gè)人的闡述,以方便我的理解。控制反轉(zhuǎn),從字面意思來看, 就是控制權(quán)由被動(dòng)變主動(dòng)又變?yōu)楸粍?dòng),或被動(dòng)變主動(dòng)又變?yōu)楸粍?dòng)。從這個(gè)角度來說,IOC就變得非常容易理解了。  
舉個(gè)例子:你的主管要求你做一件事情,這個(gè)時(shí)候就存在這么多個(gè) 流程 ,主管命令你做事情(這個(gè)時(shí)候主動(dòng)權(quán)在主管,你是被動(dòng)的)   
你接到命令做事情(這個(gè)時(shí)候主題是你,你是主動(dòng)的,控制權(quán)在你手里) 你完成事情(這個(gè)時(shí)候主題依然是你,控制權(quán)在你手里)   
報(bào)告主管做完事情(主動(dòng)權(quán)又叫交到主管手里了)

上面的整個(gè)流程 就完成了一次IOC,從上面可以看出,IOC的基本思想是控制權(quán)的轉(zhuǎn)換流程 。   

舉個(gè)代碼的例子:
假如有Class A,Class B,在A內(nèi)部會(huì)原始化一個(gè)B,調(diào)用B的一個(gè)要領(lǐng)

DoMethod public Class B  {  public void DoMethod()  {  /// do somthing;  }  }  public Class A  {  public void Excute()  {  B b = new B();  b.DoMethod();  }  }

假如在Main函數(shù)中如下執(zhí)行:   A a = new A();   a.Excute();  

從這兩行代碼來看,事實(shí)上也存在一個(gè)IOC的流程 ,a――>b――>a,理解的關(guān)鍵點(diǎn)就在在A的內(nèi)部調(diào)用Excute的時(shí)候, 要領(lǐng) b.DoMethod的執(zhí)行。  理解了IOC,我們再看一下DI, 從上面A調(diào)用B我們可以看出, 在原始化一個(gè)A的實(shí)例時(shí),也必須實(shí)例化一個(gè)B,也就是說如果沒有B或者B出了疑問 , A就不能 實(shí)例化,這就產(chǎn)生了一種依賴,就是A依賴B, 這種依賴從設(shè)計(jì)的角度來說就是耦合,顯然它是不能 滿足高內(nèi)聚低耦合的要求的。這個(gè)時(shí)候就須要 解耦, 當(dāng)然解耦有很多種要領(lǐng) , 而DI就是其中一種。不管任何一種解耦要領(lǐng) ,都不是說使A和B完全沒有聯(lián)系 , 而是把這種聯(lián)系 的實(shí)現(xiàn)變得隱晦,不那么直接,但是又很容易實(shí)現(xiàn), 而且易于擴(kuò)展,不像上面的代碼那樣,直接new一個(gè)B出來。那為什么我們總是把IOC和DI聯(lián)系到一起呢? 是因?yàn)镈I的基本思想就是IOC,而體現(xiàn)IOC 思想的要領(lǐng) 還有另外一個(gè),那就是Service Locator,這個(gè)要領(lǐng) 好像涉及到的很少。其實(shí)這些都是從Java里面衍生出來的,雖然本人已經(jīng)好幾年沒用Java,里面Spring這些都會(huì)用到IOC、DI好像他們是緊密連接在一塊的。

AspNet技術(shù)asp.net中控制反轉(zhuǎn)的理解(文字+代碼),轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 亚洲午夜久久久无码精品网红A片 | 快穿女主有名器的H纯肉黄暴拉文 | 伊人久久大香线蕉综合电影 | 国产日韩欧美有码在线视频 | 日日摸天天添天天添无码蜜臀 | 涩涩伊人久久无码欧美 | 闺蜜撬开我的腿用黄瓜折磨我 | 97超碰在线视频人人av | 黄色片软件大全 | 国产成人精品视频频 | 另类专区hy777| 暖暖日本在线手机免费完整版 | 亚洲日本欧美产综合在线 | 久久青青草原综合伊人 | 97成人在线视频 | 天天槽任我槽免费 | 毛片在线看片 | 中国成人在线视频 | 久久青青草视频在线观 | 色欲AV亚洲情无码AV蜜桃 | 蜜臀AV精品一区二区三区 | 农村脱精光一级 | 免费国产成人 | chinese东北夫妻video | 小学生偷拍妈妈视频遭性教育 | 国产精亚洲视频综合区 | 美女叉腿掰阴大胆艺术照 | 久久亚洲精品中文字幕60分钟 | 无限资源在线看影院免费观看 | 吃奶摸下的激烈免费视频 | 国产91青青成人a在线 | 亚洲婷婷天堂综合国产剧情 | 久久亚洲精品中文字幕 | 国产成人免费a在线资源 | 国内精品视频在线播放一区 | 永久adc视频年龄确认 | 我的美女奴隶 | 欧美丰满熟妇无码XOXOXO | 国产99视频精品一区 | 最新无码国产在线视频2020 | 国产午夜精品久久理论片小说 |