設計模式 decorator模式

2022-07-20 06:21:14 字數 1168 閱讀 4444

兩點:

目的:在不改變被裝飾類功能的前提下增加新功能

特點:繼承是子類和父類強耦合,橋接是低耦合

例子:

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裝飾模式是一種結構型模式,它主要是解決 過度地使用了繼承來擴充套件物件的功能 由於繼承為型別引入的靜態特質,使得這種擴充套件方式缺乏靈活性 並且隨著子類的增多 擴充套件功能的增多 各種子類的組合 擴充套件功能的組合 會導致更多子類的膨脹 多繼承 繼承為型別引入的靜態特質的意思是說以...