JAVA设计模式之组合模式

1.packagecom.youngmaster.model.Composite;

2.

3.import java.util.ArrayList;

4.import java.util.List;

5.

6./**

7.* @author youngmaster

8.* @E-mail:youngmaster.fly@gmail.com

9.* @version eclipse 3.4

10.* @create time:2009-9-13上午03:27:33

11.*

12.* 组合角色

13.* 实现组件角色接口,并且添加,删除的也是组件角色

14.*

15.* Composite本来可以再包含Leaf和Composite的。而 Leaf和Composite又都属于 Component,所以增加,删除的是Component

16.*

17.* 组合模式主要分为2种

18.*

19.* 1 透明式

20.

21.* 添加Component对象的操作定义在Component角色中,这样的话不仅Composite需要实现这些方法,Leaf也需要实现这些方法,

22.* 而这些方法对于Leaf来说没有任何意义,不过将系统实现统一起来了,因此对用户来说透明(用户无需区分Composite还是Leaf)

23.* ,因为这些角色中都具备这些方法。

24.

25.*2 安全式

26.

27.* 添加Component对象的操作定义在Composite角色中,这样的话Leaf就无需实现这些方法(因为Leaf本身根本不需要实现这些方法)

28.*/

29.

30.public class Compositeimplements Component {

31.

32.List<Component> list = new ArrayList<Component>();

33.

34.//添加

35.public void addComponent(Component component){

36.list.add(component);

37.}

38.//删除

39.public void removeComponent(Component component){

40.list.remove(component);

41.}

42.

43.//get

44.public List<Component>getAll(){

45.return list;

46.}

47.

48.public void run(){

49.for(Component component : list){

50.component.run();

51.}

52.}

53.

54.}

我爱你….为了你的幸福,我愿意放弃一切—包括你。

JAVA设计模式之组合模式

相关文章:

你感兴趣的文章:

标签云: