設計模式之五—— 會修電腦不會修收音機—依賴倒轉模式

來源:互聯網
上載者:User

單一職責問題:剛才修電腦的事,顯然記憶體壞了,不應該成為更換CPU的理由,它們各自職責是明確的;
開放-封閉原則:記憶體不夠只要插槽足夠久可以添加,硬碟不夠可以用移動硬碟等,PC的介面是有限的,所以擴充有限,軟體系統設計得好,卻可以無限地擴充。

依賴倒轉原則
   抽象不應該依賴細節,細節應該依賴於抽象(針對介面編程,不要對實現編程)針對抽象編程而不是針對細節編程
依賴倒轉原則
   A.高層模組不應該依賴低層模組。兩個都應該依賴抽象。
   B.抽象不應該依賴細節。細節應該依賴抽象。

裡氏代換原則(LSP):子類型必須能夠替換掉它們的父類型(好比學習繼承的概念時,子類繼承了父類,子類就可以以父類的身份出現。還有is-a原則)
    一個軟體實體如果使用的是一個父類的話,那麼一定適用於其子類,而且它察覺不出父類對象和子類對象的區別。也就是說,在軟體裡面,把父類都替換成它的子類,程式的行為沒有變化。

   依賴倒轉其實可以說是物件導向設計的標誌,用哪種語言來編寫程式不重要,如果編寫時考慮的都是如何針對抽象編程而不是針對細節編程,即程式中所有的依賴關係都是終止於抽象類別或者借口,那就是物件導向的設計,反之那就是過程化的設計了。

   

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.