Composite:组合模式,是JUNIT中运用比较多的一个模式。
模式组成:可以分为三个角色:
1 Component 这是一个抽象角色,定义出要每个left都要执行的代码。在junit中,这个角色为Test
2 Composite 这是一个实现了component的一个角色,它里面存放了一些包含一个集合的Componnet属性 有对这些Component操作的方法.在junit中表现为TestSuit。
3 Left 这是一个实现了Component的角色,它要真正去执行方法的角色。在junit中表现为TestCase
组合模式分为二种:
1 透明式 添加Component对象的操作定义在Component角色中,这样的话不仅Composite需要实现这些方法,Leaf也需要实现这些方法, 而这些方法对于Leaf来说没有任何意义,不过将系统实现统一起来了,因此对用户来说透明(用户无需区分Composite还是Leaf) ,因为这些角色中都具备这些方法。
2 安全式 添加Component对象的操作定义在Composite角色中,这样的话Leaf就无需实现这些方法(因为Leaf本身根本不需要实现这些方法)
模式组成:可以分为三个角色:
1 Component 这是一个抽象角色,定义出要每个left都要执行的代码。在junit中,这个角色为Test
2 Composite 这是一个实现了component的一个角色,它里面存放了一些包含一个集合的Componnet属性 有对这些Component操作的方法.在junit中表现为TestSuit。
3 Left 这是一个实现了Component的角色,它要真正去执行方法的角色。在junit中表现为TestCase
组合模式分为二种:
1 透明式 添加Component对象的操作定义在Component角色中,这样的话不仅Composite需要实现这些方法,Leaf也需要实现这些方法, 而这些方法对于Leaf来说没有任何意义,不过将系统实现统一起来了,因此对用户来说透明(用户无需区分Composite还是Leaf) ,因为这些角色中都具备这些方法。
2 安全式 添加Component对象的操作定义在Composite角色中,这样的话Leaf就无需实现这些方法(因为Leaf本身根本不需要实现这些方法)