如何學好面向對象? 面向對象雖然只有三個特性,封裝、繼承、多態,但是真正面向對象卻是說的容易做起來困難。但是,還是有一定的規則可尋的, 要學好面向對象,必須掌握設計模式 。 什麼是設計模式? 設計模式(Design pattern):是一套被反覆使用、多數人知曉的、經過分類編目的、代碼設計經驗的總結 ...
如何學好面向對象?
面向對象雖然只有三個特性,封裝、繼承、多態,但是真正面向對象卻是說的容易做起來困難。但是,還是有一定的規則可尋的,要學好面向對象,必須掌握設計模式。
什麼是設計模式?
設計模式(Design pattern):是一套被反覆使用、多數人知曉的、經過分類編目的、代碼設計經驗的總結。
《孫子兵法》和《三十六計》相信大家都聽過,其實這個就是一種設計模式,是將中國古代軍事思想和豐富的戰爭經驗總結而成的兵書。
軟體設計的七大基本原則:
- 單一職責( Single responsibility principle ):它規定一個類應該只有一個發生變化的原因。
- 開閉原則(Open Close Principle):對擴展開放,對修改關閉。
- 里氏代換原則(Liskov Substitution Principle):任何基類可以使用的地方,子類一定可以替代。
- 依賴倒轉原則(Dependence Inversion Principle):對介面編程,依賴於抽象而不依賴於具體實現。
- 介面隔離原則(Interface Segregation Principle):使用多個隔離的介面,比使用單個介面要好。
- 迪米特法則(Demeter Principle):一個實體應當儘量少的與其他實體之間發生相互作用,使得系統功能模塊相對獨立。
- 合成復用原則(Composite Reuse Principle):儘量使用合成/聚合的方式,而不是使用繼承。
設計模式就是實現了這些原則,從而達到了代碼復用、增加可維護性的目的。