一.面向對象的設計原則
單一職責原則:就是所謂的“高內聚、低耦合”,也就是說每一個類應該只有一個職責,對外只提供一種功能,而引起該類的變化的原因也應該只有一個。
開閉原則:對拓展開放,對修改關閉,對功能的擴展是通過增加代碼來進行的,而非修改原有的類代碼。
里氏替換原則:在任何父類出現的地方,都可以用他們的子類來替換。
依賴注入原則:要依賴抽象,而不是依賴於具體的實現。
接口分離原則:不應該強迫子類來實現他們不需要的使用方法,一個藉口應該只提供一種對外的功能,不要把所有的方法都封裝到一個接口中,應該從分層的角度其理解。
迪米特原則:一個對象應該對其他對象儘可能少的瞭解,也就是說要降低對象之間的耦合度,面向接口來編程,不理會其內部的工作原理
二.設計模式
設計模式(Design pattern)是一套被反覆使用、多數人知曉的、經過分類編目的代碼設計經驗的總結,它與具體的語言無關,是一種思想,掌握了面向對象的思想,纔可以更好的理解設計模式,而反之亦然。
三.設計模式的分類
創建型模式:對象的創建(單例,簡單工廠)
結構型模式:對象的組成結構 (裝飾者模式)
行爲型模式:對象的行爲 (觀察者模式)
四.單例設計模式及簡單工廠模式
單例設計模式:
單例,單個實例,實例==對象
目的:在整個應用程序中,只會創建一份對象
兩種實現方式:
延遲加載(懶漢式)
立即加載(餓漢式)
簡單工廠模式:
工廠生產產品
單例模式:懶漢式和餓漢式:
裝飾着模式
觀察者模式
簡單工廠模式