java的10大設計原則

來源:互聯網
上載者:User

標籤:

1.  DRY (不要重複你自己)

這是指不寫重複的代碼,取而代之是使用抽象共性的東西。如果超過一次使用寫入程式碼,那麼就要考慮將其公開為final修飾的不變數;如果你在兩個以上地方有相同的代碼塊,那麼就要考慮使其成為一個單獨的方法。SOLID設計原理的好處是在維護。值得注意的是重複的不是指代碼,而是對於功能而言的。

2. 封裝變化 

在軟體領域唯一不變的就是“變”,所以封裝那些你估計在未來可能被改變的代碼。這種設計的好處是容易測試和易於維護。如果你是進行Java編碼,那麼就要使變數和方法變成私人。有幾個Java設計模式採用封裝,工廠設計模式封裝的是對象建立代碼,並提供了在不改變現有的代碼情況下推出新產品的靈活性。

3.開閉原則

類,方法或函數應該對擴充開放(新功能)和對修改關閉。這又是一個漂亮的物件導向的設計原則,防止對已經測試過的代碼嘗試修改。

4.單一職責

不應該有超過一個理由去修改類,因為一個類只能有一個職責功能,如果你將多於一個功能增加到一個類中,相當於在兩個功能之間引入了緊耦合。

5.依賴注入或反轉控制

不要主動要求依賴,因為它已經由架構提供給你。比如Spring架構等,這樣的設計原則妙處在於,它是由DI注入架構的注入匹配需要的類,這樣更容易進行測試維護,因為建立對象的代碼都集中在架構,而用戶端代碼是不參與的。

6. 組合勝過於繼承

如果可能的話組合composition總是勝過繼承。組合比繼承擁有更多的靈活性。組合允許在運行時設定屬性,並通過使用介面來實現,我們可以使用多態在類運行時改變類的行為,從而提供更好的介面實現。

7. LSP原則

根據裡氏替換原則,子類型必須是可替代超類型,即方法或函數,它使用超類的類型必須能夠與子類的對象時一樣沒有任何問題,如果一個類比子類有更多的功能,而子類可能不支援某些功能,這沒有違反LSP。為了遵循LSP的設計原理,衍生類別或子類必須是增強功能不是減少它。

8.介面分離原則ISP

介面隔離原則要求:用戶端不應該實現它不使用的介面,。當一個介面包含一個以上的功能而用戶端只需要一個功能時容易出現這種情況,因為一旦你釋放你的介面,你就不能改變它。

9. 面向介面而不是實現編程

面向介面編程而不是面向實現子類,這有靈活性的好處,特別是同樣介面有不同實現子類時。

10.委託原則

不要自己做所有的事情,可以委託給相應的類去完成。


java的10大設計原則

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.