日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

架构设计之依赖倒置、控制反转与依赖注入

發(fā)布時(shí)間:2025/3/20 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 架构设计之依赖倒置、控制反转与依赖注入 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

名詞解釋

?

依賴:一種模型元素之間的關(guān)系的描述。例如類A調(diào)用了類B,那么我們說(shuō)類A依賴于類B。

耦合:一種模型元素之間的關(guān)系的描述。例如類A調(diào)用了類B或類B調(diào)用了類A,那么我們說(shuō)類A與類B有耦合關(guān)系。

耦合度:模型元素之間的依賴程度的量化描述。

控制:一種模型元素之間的關(guān)系的描述。例如類A調(diào)用了類B,那么我們說(shuō)類A控制類B。

?

緒論

架構(gòu)設(shè)計(jì)的對(duì)象一般是類庫(kù)、框架和應(yīng)用程序。其工作任務(wù)除了類庫(kù)、框架、應(yīng)用程序各個(gè)模塊(類)之間的關(guān)系設(shè)計(jì)之外,還包括類庫(kù)、框架和應(yīng)用程序三者之間關(guān)系的設(shè)計(jì)。而依賴倒置、控制反轉(zhuǎn)、依賴注入正是常用的一類設(shè)計(jì)模式。

依賴倒置、控制反轉(zhuǎn)、依賴注入三者含義和目標(biāo)基本一致,即通過(guò)抽象接口解耦和消除依賴關(guān)系。

?

依賴倒置

從字面理解依賴倒置往往不知所云,通過(guò)了解其歷史淵源可以很好的消除這種誤解。在面向結(jié)構(gòu)編程時(shí)代,架構(gòu)設(shè)計(jì)師往往采用自上而下的設(shè)計(jì)模式,先設(shè)計(jì)上層模塊,再設(shè)計(jì)下層模塊,如此層層分解,導(dǎo)致上層模塊嚴(yán)重依賴于下層模塊,下層模塊的一點(diǎn)變化都會(huì)導(dǎo)致上層地震。到了面向?qū)ο缶幊虝r(shí)代,架構(gòu)設(shè)計(jì)師使用對(duì)象進(jìn)行設(shè)計(jì),通過(guò)抽象接口解耦各層之間的依賴關(guān)系,為了與面向結(jié)構(gòu)的設(shè)計(jì)模式區(qū)分開,同時(shí)體現(xiàn)面向?qū)ο蟮膬?yōu)勢(shì),也為了嘩眾取寵,就給這種新的設(shè)計(jì)模式起了個(gè)依賴倒置的名稱。

依賴倒置的核心思想是依賴于抽象。

依賴倒置的原則是上層模塊不依賴于下層模塊,而是依賴于一套抽象接口,上層模塊調(diào)用接口,下層模塊實(shí)現(xiàn)接口。以類庫(kù)和應(yīng)用程序?yàn)槔?#xff0c;我們把應(yīng)用程序需要調(diào)用的功能抽象為一組接口,然后由類庫(kù)實(shí)現(xiàn)這組接口,那么應(yīng)用程序就可以使用任意實(shí)現(xiàn)了該接口的類庫(kù),從而和類庫(kù)解耦。

?

控制反轉(zhuǎn)

控制反轉(zhuǎn)的來(lái)歷與依賴倒置相似,以前設(shè)計(jì)應(yīng)用程序,雖然會(huì)引用類庫(kù),但一切都在應(yīng)用程序的控制之中。后來(lái)根據(jù)應(yīng)用程序的不同場(chǎng)景,人們?cè)O(shè)計(jì)了相應(yīng)的框架,有了框架之后,再設(shè)計(jì)應(yīng)用程序時(shí),就變成了為框架增加自定義行為的設(shè)計(jì),控制權(quán)轉(zhuǎn)到了框架手里,因此說(shuō)控制權(quán)反轉(zhuǎn)了。

控制反轉(zhuǎn)是依賴倒置的一種具體實(shí)現(xiàn),強(qiáng)調(diào)的是控制流程的依賴倒置,是框架設(shè)計(jì)的必用模式。框架基于依賴倒置模式設(shè)計(jì):對(duì)于框架中不確定的部分,框架抽象出一組接口,并依賴于這組接口進(jìn)行實(shí)現(xiàn),應(yīng)用程序?qū)崿F(xiàn)這組接口。

?

依賴注入

依賴注入也是依賴倒置的一種具體實(shí)現(xiàn),是類庫(kù)設(shè)計(jì)的一種常用模式。類庫(kù)中的類基于依賴模式設(shè)計(jì):某類依賴于接口,而不是具體的實(shí)現(xiàn),由調(diào)用者在調(diào)用時(shí)傳入這些接口的具體實(shí)現(xiàn)類。

.Net中廣泛使用此模式,比如StreamReader類,當(dāng)使用StreamReader時(shí),需要實(shí)例化一個(gè)Stream或其派生類,傳給StreamReader的構(gòu)造函數(shù),然后方能使用該類的方法。

?

弊病

依賴倒置的基礎(chǔ)是假設(shè)抽象是穩(wěn)定的。對(duì)于我們已經(jīng)了解的事物,當(dāng)然可以實(shí)現(xiàn)很好的抽象,但對(duì)于尚未認(rèn)識(shí)清楚的事物,比如用戶需求,就很難保證這個(gè)抽象的穩(wěn)定性。因此一旦這個(gè)抽象穩(wěn)定的假設(shè)不成立,那么依賴倒置不但不能發(fā)揮優(yōu)勢(shì),反倒可能成為包袱。

?

【轉(zhuǎn)載】http://www.cnblogs.com/luckdv/archive/2011/07/21/2112767.html

?

轉(zhuǎn)載于:https://www.cnblogs.com/julin-peng/p/5434099.html

總結(jié)

以上是生活随笔為你收集整理的架构设计之依赖倒置、控制反转与依赖注入的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 女女同性女同一区二区三区按摩 | 一卡二卡三卡 | 69免费| 在线天堂www在线国语对白 | 奶水喷溅 在线播放 | 中文字幕在线播放第一页 | 久久亚洲视频 | 手机在线看片国产 | 自拍啪啪| ,亚洲人成毛片在线播放 | 香蕉视频免费在线播放 | 蜜臀av在线观看 | 一本一道波多野结衣一区二区 | 小优视频污 | 人人草人人爱 | 亚洲五月网 | 亚洲欧美中文日韩在线 | 国产精品jizz在线观看软件 | 亚洲色妞 | 色婷婷综合久久久久中文一区二区 | a级在线观看网站 | 在线观看国产一级片 | 91国产免费视频 | 97视频免费在线观看 | sao浪受的饥渴日常 91免费入口 | 在线观看三级视频 | 欧美一区2区 | 春草| 欧美日韩麻豆 | 骚虎视频在线观看 | 亚洲激情偷拍 | 亚洲一级二级片 | 干一夜综合 | 91av导航 | 免费啪啪小视频 | 在线免费观看一区 | 四虎影院永久地址 | 欧美黑人性受xxxx精品 | 69视频污 | 午夜av不卡| 成人高清在线观看 | 婷婷综合六月 | 精品成人久久久 | 国产伦精品一区二区三区网站 | 欧洲精品码一区二区三区免费看 | 国偷自产视频一区二区久 | 亚洲tv在线观看 | 免费观看黄色网页 | 曰本黄色大片 | 日本特级黄色录像 | 亚洲理论在线观看 | 一级黄色免费观看 | www.蜜臀 | 男女偷爱性视频刺激 | 最新高清无码专区 | 377p粉嫩大胆色噜噜噜 | 国产精品国产三级国产传播 | 2018天天干天天操 | 日韩精品免费视频 | 久久九九久精品国产免费直播 | 欧美日韩一级二级三级 | 一区成人 | av电影在线网站 | 久久666| 国产真实乱人偷精品人妻 | 国产免费aa| 国产精品免费一区二区三区在线观看 | 欧美粗大猛烈 | 日韩精品亚洲一区 | 麻豆精品一区二区 | 亚洲三级大片 | 日本人性爱视频 | 成人影片在线播放 | 高潮一区二区三区 | 直接看的毛片 | 丰满岳乱妇一区二区 | 亚洲 高清 成人 动漫 | 一级片特黄 | 国产传媒第一页 | 奶水喷溅虐奶乳奴h文 | 色综合a| 91精品视频观看 | 1769国产精品视频 | 久久免费视频一区 | 亚色成人 | 毛片毛片毛片毛片毛片 | 激情内射亚洲一区二区三区爱妻 | 91日韩中文字幕 | 国产青青操 | 麻豆传媒在线观看视频 | 麻豆专区 | 亚洲精品无码成人 | 视频在线观看你懂的 | 国产免费黄色网址 | 性高湖久久久久久久久aaaaa | 激情av网站 | 男女羞羞动态图 | 男人的天堂视频 | 天堂av日韩 |