『壹』 大話設計模式這本書怎麼樣
不錯的一本書,設計模式裡面比較經典的。
它不是死板的,會用生活中的事例去形象說明,比較有趣味~~
另外《Head First設計模式》也不錯
『貳』 設計模式(c++)筆記之八(Decorator模式)
Decorator模式是一種動態地為對象添加額外職責的靈活方法,尤其在需要在OO設計中添加新功能時,相較於繼承方式更具優勢。以下是關於Decorator模式的詳細筆記:
核心思想:
- 通過組合而非繼承來擴展類的行為:Decorator模式允許通過組合的方式,將新的職責附加到對象上,而不是通過繼承來擴展類的行為。這種方式更加靈活,因為它不需要修改現有的類結構。
- 實現多態:Decorator模式通過定義一個公共基類,使得不同類型的組件和裝飾器可以通過這個基類進行統一處理,實現多態性。
關鍵特性:
- 靈活性:Decorator模式提供了極大的靈活性,因為它允許在運行時動態地添加或移除裝飾器,從而改變對象的行為。
- 擴展性:該模式不局限於特定的組件,可以應用於任何需要動態擴展功能的場景。
實際應用:
- 類比成績單裝飾:通過裝飾器類來包裝原始成績單,實現對原始信息的增刪改,以達到特定的效果。
- 代碼實現:需要定義介面、具體成績單類,以及各種裝飾器類。每個裝飾器都包含一個指向介面類型的私有變數,用於引用被裝飾的對象。
學習資源:
- 推薦書籍:《設計模式之禪》和《GoF_23種設計模式解析》等書籍提供了對Decorator模式以及其他設計模式的深入解析和實際應用案例。
Decorator模式是一種強大的設計模式,它提供了在不修改現有類結構的情況下動態擴展對象行為的能力。通過學習和應用這種模式,可以更加靈活地設計和實現軟體系統。