1. 程式人生 > >設計模式(Decorator Pattern)——裝飾者模式

設計模式(Decorator Pattern)——裝飾者模式

一、裝飾者模式簡介

  • 在HeadFirst 介紹裝飾者模式的導論中,這麼介紹裝飾者模式給愛用繼承的人一個全新的設計眼界
  • 那麼更通俗講,什麼是裝飾者模式呢?裝飾者,包裝原有的物件,使之變成具有包裝著功能的新事物。
  • 舉個栗子,你去一家麵館吃麵,這是一家專門做麵食的餐館,有面條,湯料,獅子頭,烤腸,豆皮,醬料包……,然後顧客來吃麵的時候,首先準備一碗麵條,然後根據顧客的需求,愛吃炸醬的,帶湯的,加滷蛋,豆皮等等……(可以說是以這些輔料來裝飾面條得到你需要的)

二、裝飾者模式定義

  • 動態地將職責附加到物件上,若要擴充套件功能,裝飾者提供了比繼承更有彈性的代替方案
  • 如圖是裝飾者模式類圖說明

  • 我們來看一下面館裡面的例子

  • 裝飾者模式demo就不列出來了。依據如上的邏輯,程式碼實現應該很簡單,若有不對的地方,歡迎批評指正!