優美整潔的代碼,基本都須要遵循如下的幾大基本原則.函數
1.單一職責原則SRP (Single Responsibility Principle)spa
類,模塊,方法應該有且僅有一條修改的理由.也就是說,其僅僅負責一個功能,只有這個功能發生變化時,才須要修改它. 對象
舉個栗子:人類 有 吃飯的方法,那麼這個方法就僅僅是吃法, 你不能把作飯,準備餐桌等實現發到這個方法裏面. 繼承
2.開放封閉原則OCP (Open-Close Principle)接口
一個軟件實體如類、模塊和函數應該對擴展開放,對修改關閉。ip
開閉原則的含義是說一個軟件實體應該經過擴展來實現變化,而不是經過修改已有代碼來實現變化。ci
舉個栗子:繼承(extends implements )it
3.里氏替換原則 LSP (the Liskov Substitution Principle LSP)io
子類應當能夠替換父類並出如今父類可以出現的任何地方。ast
舉個栗子: 繼承(extends implements )
4.依賴倒置原則 DIP (the Dependency Inversion Principle DIP)
具體依賴抽象,上層依賴下層。
舉個例子: 接口, 抽象類.
5.迪米特法則 (Law of Demeter)
又叫做最少知識原則(Least Knowledge Principle 簡寫LKP),就是說一個對象應當對其餘對象有儘量少的瞭解,不和陌生人說話。
迪米特法則的初衷在於下降類之間的耦合。因爲每一個類儘可能減小對其餘類的依賴,所以,很容易使得系統的功能模塊功能獨立,相互之間不存在(或不多有)依賴關係。
6.接口隔離原則
使用多個專門的接口比使用單一的總接口要好。
這些原則的使用,最終咱們想實現的 都是一個高內聚低耦合的系統.