第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

策略模式的依賴倒置和控制反轉(zhuǎn)具體應(yīng)用

舉幾個例子說明下依賴倒置和控制反轉(zhuǎn)的使用!

正在回答

4 回答

首先我覺得你要清晰幾個概念:

緊耦合:

首先在 page 類中與 UserStrategy 的實例,以及策略的具體實現(xiàn)來達到策略的具體實現(xiàn),這樣是不是 page 與?UserStrategy 緊密相關(guān),也就是說 如果?UserStrategy 的實現(xiàn)修改了,例如:去掉了 showAd() 方法。page 自然需要做相應(yīng)修改,這就叫做 緊耦合(依賴性太強)。

依賴倒置和控制翻轉(zhuǎn):

page 類里不需要?UserStrategy 的具體實現(xiàn),只需要知道 page 場景下需要?UserStrategy 的策略,具體策略下實現(xiàn)那些方法,不需要知道。這樣 page 與?UserStrategy 是離散的、低耦合的。這樣代碼的就更加穩(wěn)定,可維護,以拓展。

明白了這幾個概念,我想你應(yīng)該知道為什么我們需要依賴倒置和控制翻轉(zhuǎn)了。

設(shè)計模式不要為了用而用,而是應(yīng)該明白為什么要用才去用

4 回復(fù) 有任何疑惑可以回復(fù)我~
#1

追逐夢想30 提問者

好的,非常感謝!
2016-08-11 回復(fù) 有任何疑惑可以回復(fù)我~
#2

奮斗de小蝸牛

我咋感覺你說得不對呢,你用一個類的方法,然后后續(xù)把這個方法刪了,那肯定需要修改啊,任何方法也做不到你把一個類的方法刪了,然后不修改調(diào)用它的地方,絕對不可能,你看能說把showAd和showcate包在一個方法里,這樣就可以了,那我要是再把這個方法刪除了呢?不還是得修改?
2020-04-02 回復(fù) 有任何疑惑可以回復(fù)我~

難道意思是實現(xiàn)解耦,需要新增Strategy的index方法,然后把showAd,showCategory包進去。然后在page類的index方法中只有$$this->strategy->index(),這樣就實現(xiàn)了無關(guān)性

0 回復(fù) 有任何疑惑可以回復(fù)我~

不明白說的是什么,緊耦合不好,需要解耦。但實際上,page類的index方法,是依賴于Strategy的showAd,showCategory()方法,如果一個方法要刪除掉,比如刪除showAd,那還是要改page類的index方法。

1 回復(fù) 有任何疑惑可以回復(fù)我~
#1

坐不住的雨傘

我覺得也是啊,如果userStrategy中刪除了一個方法,Page中的index需要修改,和最佳回答提到的緊耦合一樣啊
2019-12-28 回復(fù) 有任何疑惑可以回復(fù)我~

好的,非常感謝!

0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消

策略模式的依賴倒置和控制反轉(zhuǎn)具體應(yīng)用

我要回答 關(guān)注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號