設計模式(三)裝飾模式

概念:

動態的給 一個對象 添加一些額外的職責。

使用場景

當系統需要新增功能的時候,通常的方法是向類中添加新代碼,這些新加的代碼通常裝飾了原有類的核心職責,從而產生新的邏輯,這樣就增加了主類的復雜度,而且又違反了 開關原則,這些新加入的東西緊緊為了滿足一些只在某種特定情況下才會執行的特殊行為的需要,這個時候可以采用裝飾模式。

分析

  • 經常喜歡吃板面,板面的 種類 有很多種類;
  • 我們知道板面在煮出來就是 一碗板面,根據客戶的需求 加入 雞蛋、丸子、豆皮等組合方式,便形成了菜譜上的雞蛋板面,丸子板面,豆皮板面等等...
  • 以上 一碗板面 就是原有功能( 一個對象),而根據需求 加入 ,也就是動態添加額外的職責;

設計

decorator.png

decorator
decorator

代碼

實際代碼實例

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容