C++模式設計:Decorator 裝飾模式

一、應用場景舉例 需要設計圓、矩形兩種形狀,同時設計這兩種形狀的紅色、藍色版本,按照傳統的思路,使用繼承的方式,則如下圖: 按這種方式,當需要的形狀和顏色種類增多時,所定義的類的數量將會急劇增多,而且類之間會有很多重複的代碼。如果運用裝飾模式的思想,依照「組合優先於繼承」原則,將「顏色」單獨定義爲一個「裝飾類」,該類也繼承自抽象基類,且擁有一個抽象基類的指針,用於操作傳入的不同的形狀對象。這樣,在
相關文章
相關標籤/搜索