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 々上善若水々 阅读(798) 评论(0) 编辑 收藏 所属分类: 设计模式
Powered by: BlogJava Copyright © 々上善若水々