OO基礎算法
1、抽象編程
2、封裝spa
3、多態設計
4、繼承繼承
OO原則接口
1、封裝變化開發
2、多用組合,少用繼承基礎
3、針對接口編程,不針對實現編程擴展
OO模式軟件
策略模式(Strategy Pattern)——定義算法族,分別封裝起來,讓它們之間能夠互相替換,此模式讓算法的變化獨立於使用算法的客戶
要點
1、知道OO基礎,並不足以讓你設計出良好的OO系統
2、良好的OO設計必須具有可複用、可擴展、可維護三個特性
3、模式能夠讓咱們建造出具備良好OO設計質量的系統
4、模式被認爲是歷經驗證的OO設計經驗
5、模式不是代碼,而是針對設計問題的通用解決方案。你可把它們應用到特定的應用中
6、模式不是發明,而是被發現
7、大多數的模式和原則,都着眼於軟件變化的主題
8、大多數的模式都容許系統局部改變獨立於其餘部分
9、咱們常把系統中會變化的部分抽出來封裝
10、模式讓開發人員之間有共享的語言,可以最大化溝通的價值
利用繼承來提供Duck的行爲,這會致使哪些缺點?
1、代碼在多個子類中重複
2、運行時的行爲不容易改變
3、很難知道全部鴨子的所有行爲
4、改變會牽一髮動全身,形成其餘鴨子不想要的改變