该练习是关于制作软件来管理机器人工厂。
在我的程序中,我可以创建单个零件,然后用它们创建机器人,但我也可以让机器人内部装有更小的机器人。这就是 Composite 的用武之地。事实上,Component 类可以是 Part,Composite 类是 Robot,它实现了 Parts 列表并继承自 Part 类(这是因为机器人也可以由单个部件制成)
一切都指向了这个解决方案,但是当他们告诉我们有两种类型的零件时,问题就来了;陆地和水生以及机器人不能由不同类型的零件制成。
我不知道这是否真的是一种可行的方式,因为该图暗示我可以用这两种部件制作一个机器人,即使我将在代码中限制它。
这是一个UML图