banq 你好,再請教幾個模式

xysniper發表於2006-10-18
你好,請看看我這樣理解對不對,謝謝!
Template:其實就是先定義一個操作的架子,把一些操作延遲到其子類中完成,而不是放在同一個類中,這樣當父類變化了,只需要再加一個子類就可以了,其它程式碼不必修改

Observer:其實就是在執行這個類的程式碼時,同時觸發別一個類的程式碼被執行,具體是有一個Observer觀察者類,這個觀察者被加入到要觀察的類中,當這個被觀察的類的物件發生變化時,觀察者就能自動觀察到這個物件發生了變化,同時觀察者會進行相應的操作, 其實我覺的這種操作不用這個模式也能實現

Visitor(訪問者):這個模式主對針對Collection類設計的,為了不使訪問Collection類中的元素使用多重if else來判斷其型別(因為Collection中的元素可能有多種型別),才使用些模式,具體是對要訪問的型別做一下封裝,讓程式能夠對這個型別進行訪問,這是被訪問者,另外還有訪問者Visitor,訪問者定義了對每個型別進行訪問的介面,其實現可以有多個,這樣可以不用多個IF ELSE判斷了,因為其元素已經可訪問了,直接訪問就行。

提問:JdbcTemplate,HibernateTemplate是不是此模式的應用,這個模式中父類是不是就是一個Template類,比如你舉例中Benchmark類?

相關文章