体系结构突击(组合模式)

体系结构突击(组合模式),第1张

体系结构突击(组合模式) uml图:

思路: 

1.从给定的树形问题中找出简单元素和复杂元素,并对他们抽象,然后绘制他们的类图

2.由客户端运用类图中的类组建出一个树形

注意加入结点的顺序和层次,类似于数据结构当中的树形图

优点:

组合模式使得客户端代码可以一致地处理单个对象和组合对象,无须关心自己处理的是单个对象,还是组合对象,这简化了客户端代码;
更容易在组合体内加入新的对象,客户端不会因为加入了新的对象而更改源代码,满足“开闭原则”;

缺点:

设计较复杂,客户端需要花更多时间理清类之间的层次关系;
不容易限制容器中的构件;
不容易用继承的方法来增加构件的新功能;

 代码:

interface Component{
	public void display();
	public void add(Component c);
	public void remove(Component c);
}
class Leaf implements Component{
	String name;
	Leaf(String name){
		this.name=name;
	}
	public void display() {
		System.out.println(name);
	}
	public void add(Component c) {}
	public void remove(Component c) {}
}
class Composite implements Component{
	String name;
	Composite(String name){
		this.name=name;
	}
	ArrayList list=new ArrayList();
	public void display() {
		System.out.println(name);
		for(int i=0;i 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5612054.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存