裝飾者模式留下來慢慢溫故

2021-08-17 09:49:12 字數 1530 閱讀 1007

齊天大聖的例子

孫悟空有七十二般變化,他的每一種變化都給他帶來一種附加的本領。他變成魚兒時,就可以到水裡游泳;他變成鳥兒時,就可以在天上飛行。

本例中,component的角色便由鼎鼎大名的齊天大聖扮演;concretecomponent的角色屬於大聖的本尊,就是猢猻本人;decorator的角色由大聖的七十二變扮演。而concretedecorator的角色便是魚兒、鳥兒等七十二般變化。

抽象構件角色「齊天大聖」介面定義了乙個move()方法,這是所有的具體構件類和裝飾類必須實現的。

//大聖的尊號

public

inte***ce

thegreatestsage

具體構件角色「大聖本尊」猢猻類

public

class

monkey

implements

thegreatestsage

}

抽象裝飾角色「七十二變」

public

class

change

implements

thegreatestsage

@override

public

void

move

()}

具體裝飾角色「魚兒」

public

class

fish

extends

change

@override

public

void

move

()}

具體裝飾角色「鳥兒」

public

class

bird

extends

change

@override

public

void

move

()}

客戶端呼叫

public

class

client

}

「大聖本尊」是concretecomponent類,而「鳥兒」、「魚兒」是裝飾類。要裝飾的是「大聖本尊」,也即「猢猻」例項。

上面的例子中,第二種些方法:系統把大聖從乙隻猢猻裝飾成了乙隻鳥兒(把鳥兒的功能加到了猢猻身上),然後又把鳥兒裝飾成了一條魚兒(把魚兒的功能加到了猢猻+鳥兒身上,得到了猢猻+鳥兒+魚兒)。

是什麼讓你留下來?

他們從來沒有問過 某員工 試問一下公司領導們,有多少問過你的員工這樣的問題 list 是公司的什麼讓你留下來?什麼能夠引誘你離開?工作中最激勵你的是什麼?公司是否讓你發揮了自己的聰明才智?我能做些什麼來幫助你?list 如果你還沒這樣做過,那麼嘗試一下吧 聆聽一下員工的心聲,告訴他們 你很重要,你是...

nncq 小潤寫的 ,我留下來參考

查詢的js if keyword else nncqkeyword val keyword var listparajson nncqgetpersonarchiveslistparajson gotopersonarchivesalllist listparajson 姓名 if name bir...

部門裁員70 ,我憑什麼留下來了

本篇的重點是 如何在裁員中留下來,如何度過高風險的社會危機 滿篇都是乾貨。從以下幾個方面給出一系列建議。最近部門動盪挺大的,疫情對公司的影響還是爆發了。最近是看著身邊乙個個優秀的小夥伴辦了離職手續,乙個乙個的走了,當然,有的小夥伴是換部門了。挺不是滋味的,也就慢慢的寫下了這篇文章。下面的標題沒有先後...