應(yīng)用場景:動態(tài)的給一個對象增加額外的職責(zé)启昧,裝飾者模式比子類繼承更為靈活怪蔑。
組成要素:
Component:抽象構(gòu)件
ConcreteComponent:具體構(gòu)件歉糜,被裝飾的對象
Decorator:裝飾者卵酪,實現(xiàn)Component戳玫,并且里面一定包含要被裝飾的構(gòu)建Component
ConcreteDecorator:具體裝飾者熙掺,對唄裝飾對象進行自定義的裝飾
示例demo:現(xiàn)在要做三種蛋糕,第一種蛋糕是只涂抹一層奶油咕宿,第二種蛋糕是再涂抹一層巧克力币绩,第三種蛋糕是再加一層水果。
抽象構(gòu)建
具體構(gòu)建府阀,被裝飾對象
抽象裝飾者缆镣,規(guī)定被裝飾類型,以及裝飾邏輯
具體裝飾者试浙,在被裝飾基礎(chǔ)上實現(xiàn)自己的裝飾邏輯
具體裝飾者董瞻,在被裝飾者基礎(chǔ)上進行自定義的裝飾
具體裝飾者,在被裝飾者基礎(chǔ)上進行自定義的裝飾
客戶端川队,進行層層裝飾