兩點:
目的:在不改變被裝飾類功能的前提下增加新功能
特點:繼承是子類和父類強耦合,橋接是低耦合
例子:
class print //抽象介面virtual int getcolumns() ;
virtual int getrows()
virtual string getrowcontent(int row)
else
}};class border: public print //1.和被裝飾物繼承自同一介面,實現容器和內容的一致性
virtual int getcolumns() ;
virtual int getrows()
virtual string getrowcontent(int row) }
};
int main()// 列印結果如下:
// *************
// *hello world*
// *************
// +++++++++++++++
// +*************+
// +*hello world*+
// +*************+
// +++++++++++++++
// -----------------
// -+++++++++++++++-
// -+*************+-
// -+*hello world*+-
// -+*************+-
// -+++++++++++++++-
// -----------------
設計模式 decorator模式
裝飾者模式體現了 敏捷開發思想中的 對類要 開放擴充套件,關閉修改.例子 乙個person主類 若干裝飾品類 紅衣服,藍衣服,藍鞋子,紅鞋子 測試 new乙個person 給他穿上紅衣服藍鞋子 code person介面 public inte ce ipersonperson類 package c...
Decorator設計模式
雖然設計模式分得太細會有過度的趨勢,decorator某種程度上也是一種facade模式。但是實現起來還是比較漂亮的。而後面那個人的class arlist list,ilist的方法就不是decorator。它沒有乙個內部的list。這樣 however,now all of list s met...
設計模式 Decorator裝飾模式
decorator裝飾模式是一種結構型模式,它主要是解決 過度地使用了繼承來擴充套件物件的功能 由於繼承為型別引入的靜態特質,使得這種擴充套件方式缺乏靈活性 並且隨著子類的增多 擴充套件功能的增多 各種子類的組合 擴充套件功能的組合 會導致更多子類的膨脹 多繼承 繼承為型別引入的靜態特質的意思是說以...