讀《Head First設計模式》筆記

這次讀《Head First設計模式》筆記

策略模式:定義了算法族,分別封裝起來,讓他們之間可以互相替換,此模式讓算法的變化獨立於使用算法的客戶。

基礎:
1、抽象;
2、繼承;
3、多態;
4、封裝。

設計原則:
1、找出應用中可能需要變化之處,把它們獨立出來,不要和那些不需要變化的代碼混在一起。
2、針對接口編程,而不是實現編程。
3、多用組合,少用繼承。

注意:
1、“針對接口編程”真正的意思是“針對超類型編程”,而抽象超類型可以是抽象類“或”接口。
2、原則:建立可維護的OO系統,要訣就在於隨時想到系統以後可能需要的變化以及應付變化的原則。
3、要時刻思考:模式如何依賴基礎與原則。
4、知道OO基礎,並不足以讓你設計出良好的OO系統。
5、良好的OO系統必須具備可複用、可擴充、可維護三個特性。
6、模式不是被髮明,而是被發現。


問題與解答:
1、利用繼承來提供Duck的行爲,這會導致下列哪些缺點?
(1)、代碼在多個子類中重複。
(2)、運行的行爲不易改變。
(3)、很難知道所有鴨子的全部行爲。
(4)、改變會籤一發動全身,造成其他鴨子不想要的改變。

2、驅動改變的因素很多,找出你的軟件中需要改變代碼的地方。
參考答案:
(1)、我們的顧客或者用戶決定要別的做法,或者想要新的功能。
(2)、我的公司決定採用別的數據庫產品,又從另一家廠商買了數據,這造成數據格式不兼容。
(3)、應對技術的改變,我們必須更新代碼,適用於新協議。
(4)、我們學到了足夠的構建系統的知識,希望回去把事情做得更好。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章