類是沒有行為的,只有對(duì)象才可能有行為,但對(duì)象的行為肯定是由類來定義的。
今天講要10個(gè)行為設(shè)計(jì)模式,記下它們的思想!
1、
Template(模版)
定義一個(gè)操作中算法的骨架,將一些步驟的執(zhí)行延遲到其子類中.
如Struts中的execute()方法,通俗的說法是在父類的方法中,調(diào)用操象的方法。而操象的方法是由實(shí)現(xiàn)類來實(shí)現(xiàn)。
2、
Memento(備忘錄模式)
備忘錄模錄實(shí)際上是對(duì)象內(nèi)部狀態(tài)的拷貝,運(yùn)行到某個(gè)時(shí)候可以恢復(fù)它原有的狀態(tài),在實(shí)際開發(fā)中我們經(jīng)常會(huì)用到該模式,但寫法可能不一樣。
3、
Observer(臨聽模式)
別人說是觀察者,我喜歡說這是監(jiān)聽模式,就是設(shè)置一個(gè)對(duì)象的監(jiān)聽對(duì)象,當(dāng)被監(jiān)聽對(duì)象的狀態(tài)改變時(shí)觸發(fā)一個(gè)事件,JDK已經(jīng)提供實(shí)現(xiàn)了。需要用到時(shí)GOOGLE一樣就OK。
4、Chain of Responsibility(職責(zé)鏈)
就是一個(gè)對(duì)象當(dāng)作一個(gè)參數(shù)傳遞給不同的對(duì)進(jìn)行職責(zé)處理。
5、Command(命令模式)
就看具體封裝了,實(shí)際開發(fā)中用一得也挺多。
6、State(狀態(tài)模式)
7、Strategy(策略)
是對(duì)算法的一種封裝
8、Mediator(中介者)
各個(gè)對(duì)象之間的交互操作非常多;每個(gè)對(duì)象的行為操作都依賴彼此對(duì)方,修改一個(gè)對(duì)象的行為,同時(shí)會(huì)涉及到修改很多其他對(duì)象的行為,如果使用Mediator模式,可以使各個(gè)對(duì)象間的耦合松散,只需關(guān)心和 Mediator的關(guān)系,使多對(duì)多的關(guān)系變成了一對(duì)多的關(guān)系,可以降低系統(tǒng)的復(fù)雜性,提高可修改擴(kuò)展性.
9、Interpreter(解釋器)
10、Visitor(參觀者模式)
就是遍歷類集中的對(duì)象吧
posted on 2007-09-24 23:36
有貓相伴的日子 閱讀(320)
評(píng)論(0) 編輯 收藏 所屬分類:
Patterns