C語言和設計模式(裝飾模式) 13

2022-03-24 14:23:15 字數 511 閱讀 5342

裝飾模式是比較好玩,也比較有意義。其實就我個人看來,它和責任鏈還是蠻像的。只不過乙個是比較判斷,乙個是迭代處理。裝飾模式就是那種迭代處理的模式,關鍵在哪呢?我們可以看看資料結構。

[cpp]view plain

copy

print

?typedef

struct

_object  

object;  

裝飾模式最經典的地方就是把pobject這個值放在了資料結構裡面。當然,裝飾模式的奧妙還不僅僅在這個地方,還有乙個地方就是迭代處理。我們可以自己隨便寫乙個decorate函式試試看,

[cpp]view plain

copy

print

?void

decorate(

struct

_object* pobeject)  

所以,裝飾模式的最重要的兩個方面就體現在:prev引數和decorate迭代處理。 

C語言和設計模式(裝飾模式)

裝飾模式是比較好玩,也比較有意義。其實就我個人看來,它和責任鏈還是蠻像的。只不過乙個是比較判斷,乙個是迭代處理。裝飾模式就是那種迭代處理的模式,關鍵在哪呢?我們可以看看資料結構。cpp view plain copy typedef struct object object 裝飾模式最經典的地方就是...

13 C語言和設計模式(享元模式)

享元模式看上去有點玄乎,但是其實也沒有那麼複雜。我們還是用示例說話。比如說,大家在使用電腦的使用應該少不了使用word軟體。使用word呢,那就少不了設定模板。什麼模板呢,比如說標題的模板,正文的模板等等。這些模板呢,又包括很多的內容。哪些方面呢,比如說字型 標號 字距 行距 大小等等。cpp vi...

C語言和設計模式

關於軟體設計方面的書很多,比如 重構 比如 設計模式 至於軟體開發方式,那就更多了,什麼極限程式設計 精益方法 敏捷方法。隨著時間的推移,很多的方法又會被重新提出來。其實,就我個人看來,不管什麼方法都離不開人。乙個人寫不出二叉樹,你怎麼讓他寫?敏捷嗎?你寫一行,我寫一行。還是迭代?寫三行,刪掉兩行,...