1 透明式
添加Component對象的操作定義在Component角色中,這樣的話不僅Composite需要實現這些方法,Leaf也需要實現這些方法, 而這些方法對于Leaf來說沒有任何意義,不過將系統實現統一起來了,因此對用戶來說透明(用戶無需區分Composite還是Leaf) ,因為這些角色中都具備這些方法。 2 安全式
添加Component對象的操作定義在Composite角色中,這樣的話Leaf就無需實現這些方法(因為Leaf本身根本不需要實現這些方法)
安全式的實現: 1.抽象角色:
2.葉子角色:
3.Comosite角色
現在寫個測試類來測試:
對于透明模式只需要把add()或remove等方法,寫個抽象角色接口里面就行了.
posted on 2008-05-17 11:06 々上善若水々 閱讀(813) 評論(0) 編輯 收藏 所屬分類: 設計模式
Powered by: BlogJava Copyright © 々上善若水々