在 Java 中,**组合模式(Composite Pattern)**属于结构型设计模式,用于将对象组合成树形结构以表示“部分-整体”的层次关系,使得用户对单个对象和组合对象的使用具有一致性。
下面从优点和缺点两方面说明(结合 Java 特点):
Component root = new Composite();
root.add(new Leaf());
root.add(new Composite());
void operate(Component c) {
c.operation();
}
void print(Component c) {
c.print();
for (Component child : c.getChildren()) {
print(child);
}
}
add()、remove())。public void add(Component c) {
throw new UnsupportedOperationException();
}
这是 Java 组合模式中常见的“安全 vs 透明”矛盾。
Component 与 ContainerFile 与 Directory| 方面 | 优点 | 缺点 |
|---|---|---|
| 结构 | 层次清晰 | 设计复杂 |
| 使用 | 客户端统一 | 类型安全弱 |
| 扩展 | 易扩展 | 可能违反单一职责 |
| 操作 | 易递归 | 性能需注意 |
如果你愿意,我也可以:
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。