Java 的组合模式(Composite Pattern)整体来说不算难学,属于设计模式里比较“直观”的一种。
思想很简单
结构清晰 通常只有三类角色:
代码量不大 不需要复杂反射、代理、泛型技巧,主要是继承和组合。
// 抽象组件
interface Node {
void show();
}
// 叶子
class File implements Node {
private String name;
public File(String name) { this.name = name; }
public void show() {
System.out.println("文件:" + name);
}
}
// 组合
class Folder implements Node {
private String name;
private List<Node> children = new ArrayList<>();
public Folder(String name) { this.name = name; }
public void add(Node node) {
children.add(node);
}
public void show() {
System.out.println("文件夹:" + name);
for (Node n : children) {
n.show();
}
}
}
// 使用
public class Test {
public static void main(String[] args) {
Folder root = new Folder("根目录");
root.add(new File("a.txt"));
Folder sub = new Folder("子目录");
sub.add(new File("b.txt"));
root.add(sub);
root.show();
}
}
add()(但可能不支持)add()但这些都不算“难”,更多是“熟练度”问题。
✅ 总结一句话:
组合模式“概念简单、代码好写、理解稍需递归思维”,对 Java 初学者来说是友好且值得 early 学的设计模式。
如果你愿意,我也可以按「零基础 → 实战」给你一条学习路线。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。