<Java設(shè)計(jì)模式>——依賴倒置原則(DIP)內(nèi)存條我只要ddr3

什么是依賴倒置原則

  • 高層模塊不應(yīng)該依賴底層模塊,兩者都應(yīng)該依賴器抽象。
  • 抽象不應(yīng)該依賴細(xì)節(jié),細(xì)節(jié)應(yīng)該依賴抽象。
    個(gè)人理解,高層模塊和抽象對(duì)應(yīng)Java里面,應(yīng)該是抽象類、接口,而底層模塊和細(xì)節(jié)對(duì)應(yīng)Java里面,應(yīng)該就是具體的實(shí)現(xiàn)類,放在咱們開發(fā)中怎么理解他們之間的依賴關(guān)系呢?假如你需要完成一個(gè)功能,但是這個(gè)功能,不能自己一個(gè)類就能完成的,需要其他的類,那么這個(gè)時(shí)候就需要用到其他的類,那么你依賴的這個(gè)類,最好依賴他的父類或者接口。

舉個(gè)例子

小王由于想玩一些大型的3D游戲,但是由于目前自己電腦配置太低了,于是想到去升級(jí)自己的電腦,于是他升級(jí)的配件有CPU、顯卡、內(nèi)存條、硬盤,咱們就以升級(jí)內(nèi)存條為例,目前市場(chǎng)上內(nèi)存條代次有DDR、DDR2、DDR3、DDR4,小王肯定要想看看自己電腦主板支持什么樣的代詞,然后去市場(chǎng)選購(gòu),這個(gè)時(shí)候他發(fā)現(xiàn)自己需要的DDR3代次的內(nèi)存條,有不同的廠商產(chǎn)品,那么他只要根據(jù)自己需要的代次,選購(gòu)就行了,根本不需要區(qū)分廠商。那么為什么不同廠商生產(chǎn)的內(nèi)存的都可以使用呢?哈哈,這個(gè)就是依賴倒置原則,每個(gè)廠商都遵守不同代次的標(biāo)準(zhǔn),就行了。所以小王只需要關(guān)心內(nèi)存條的代次就行了,符合自己需要的代次的內(nèi)存條都是可以使用的,壓根不需要關(guān)心什么廠商生產(chǎn)的。

63d9f2d3572c11df4763bef6652762d0f603c2b1.jpg

代碼中如何依賴

  • 構(gòu)造函數(shù)傳遞依賴對(duì)象。
  • Setter方法傳遞依賴的對(duì)象。
  • 接口生命依賴的對(duì)象,簡(jiǎn)稱接口注入。

代碼具體實(shí)踐

  • 每個(gè)類盡量都有接口和抽象類,或者都擁有。
  • 接口的表面類型盡量是接口或者是抽象類。
    盡量根據(jù)具體的業(yè)務(wù)來進(jìn)行相關(guān)的處理,規(guī)則是死的,業(yè)務(wù)是活的,就像JavaBean,不見得非要搞接口和抽象類繼承下吧。
  • 任何類都不應(yīng)該從具體了派生。
    如果出現(xiàn)的這種情況,可以看看具體的業(yè)務(wù),將兩者提取一個(gè)抽象類或者接口,然后兩者在進(jìn)行繼承。
  • 盡量不要覆寫父類已經(jīng)實(shí)現(xiàn)的方法。
  • 結(jié)合里斯替換原則進(jìn)行使用。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,871評(píng)論 18 399
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,361評(píng)論 25 708
  • 從三月份找實(shí)習(xí)到現(xiàn)在,面了一些公司,掛了不少,但最終還是拿到小米、百度、阿里、京東、新浪、CVTE、樂視家的研發(fā)崗...
    時(shí)芥藍(lán)閱讀 42,895評(píng)論 11 349
  • 【一心丨的第三十七篇【寫他】】 【我和你】 我們的關(guān)系:來自于吉財(cái)三舍一個(gè)樓層的斜對(duì)面寢室鄰居,能認(rèn)識(shí)你是我在為【...
    Sunny哈哈閱讀 790評(píng)論 10 8
  • 如果說人生如詩,少年就當(dāng)是最優(yōu)美的段落。 如果說人生如歌,少年就當(dāng)是最動(dòng)聽的部分。 少年時(shí)代的我們,沖動(dòng)、任性、放...
    兩個(gè)評(píng)論員閱讀 224評(píng)論 0 1

友情鏈接更多精彩內(nèi)容