组合模式,部分——整体组合的模式。在真正的编程实现中,有时需要将复杂元素与简单元素搭配在一起使用,但是他们的特性是共有的。这时就需要采用组合模式,即运用统一的接口实现功能,分层特化,这样就可以以相同的方式对待一个或多个相似的对象,并且思路清晰容易管理对象。
Component类:
public interface Component { public void setName(String name); public String getName(); } |
零件一(零件二类似):
public class Part1 implements Component{ String name="零件1"; @Override public String getName() { // TODO Auto-generated method stub return name; }
@Override public void setName(String name) { // TODO Auto-generated method stub this.name+=name; }
} |
设备:
public class Composite implements Component{ Map<String,Component> components = new TreeMap<String,Component>(); String name="设备"; public void add(Component c){ components.put(c.getName(), c); } public void remove(Component c){ components.remove(c.getName()); } public void setName(String name){ this.name=this.name+"_"+name; } @Override public String getName() { // TODO Auto-generated method stub return name; }
}
|
效果如下图: