Java面向物件的五個基本原則
參考部落格:Ask馬小向的專欄,網址:http://blog.csdn.net/happymatilian/article/details/48440073
1 單一職責原則(Single-Responsibility Principle):就一個類而言,應該僅有一個引起它變化的原因。
例如:寫一個WinForm應用程式,需要將資料庫的操作、檔案的操作、演算法的運用等,不需要將這些都寫在Form這樣的類中。應該將它們各自分開,應對將來的變化。或許你在寫另外一個From類的時候,也需要用到檔案操作,那樣你就可以複用檔案操作的類了,不用貼上複製程式碼了。
2 開發封閉原則(Open-Closed
Principle
3 依賴倒置原則(Dependency-Inversion Principle):抽象不應該依賴細節,細節應該依賴於抽象。
例如:客戶端對資料庫的插入操作。最初只是將資料儲存到MySql資料庫,現在需要儲存資料到Oracle資料庫。我們應該對插入操作進行抽象,MySql和Oracle實現插入操作的具體內容,使客戶端依賴與插入操作,而不應該依賴與MySql資料庫的操作或Oracle資料庫操作。
4 里氏替換原則(Liskov-Substituent Principe.):子類必須能夠替換掉他們的父類。意思是,子類必須具有父類的所有特性。
5 介面隔離原則(Interface-Segregation Principle):多個專用的介面優於一個單一的通用介面。不要把所有的方法都新增到一個介面中。
例如:還是列舉狼類和羊類,它們都具有奔跑的方法,但狼具有食肉這一方法,而羊類不具有食肉這一方法。這時可以定義兩個介面,讓狼類繼承奔跑介面和食肉介面即可,而羊類繼承奔跑介面即可。