亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

OCP(開閉原則)與IoC(控制反轉)有什么關系?

OCP(開閉原則)與IoC(控制反轉)有什么關系?

森林海 2023-06-14 16:09:49
我能想到的一個例子是模板模式,它是一種執行 IoC 的方式,也是 OCP 的一個例子。因為在模板模式中,我們定義了基本算法,它不能被子類更改,但可以覆蓋該算法的繼承步驟方法。所以將來如果我們想改變一個步驟的實現,我們可以創建另一個子類并實現這些步驟。還有其他例子嗎?
查看完整描述

1 回答

?
慕仙森

TA貢獻1827條經驗 獲得超8個贊

開閉原則建議您應該更喜歡具有可擴展行為的事物,這樣當您需要它們做新事情時就不必修改它們的源代碼。

當你做得對時,控制反轉同時是提供這種可擴展性的最簡單和最強大的方法。

這是最簡單的方法,因為當您為 IoC 定義可注入接口時,您只捕獲了您的需求。配置可擴展行為的其他方法要求您考慮消費者可能想要的一切。

這是最強大的方式,因為代碼可以做任何事情,提供一個 IoC 擴展點可以讓消費者做各種你想不到的事情,只要他們滿足你的接口定義的要求。同樣,這是因為注入的接口僅捕獲您自己的需求。

因此,OCP 和 IoC 以一種非常簡單的方式相關:OCP 是一個目標,而 IoC 是實現目標的手段。


查看完整回答
反對 回復 2023-06-14
  • 1 回答
  • 0 關注
  • 152 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號