我有一个要求,我必须创建一个json文件,它将有子对象,可以描述车辆
像
根
| - V1
| - V2
现在可以有任意数量的车辆,只有1根。这些车辆也可以根据我们的需要添加,以满足不同的需求。新车也可以在不久的将来添加。
所以我想到了接口IV和所有V1,V2,...继承自它。 IV将具有函数getDescription,它将由所有具体实现返回并添加到json文件中。所以我可以将V1,V2的数组传递给Root的构造函数并调用execute来生成json
针对此类要求建议采用哪种设计模式。我想到了装饰器模式,但在这种情况下,根元素将与子元素不同,因此它们可以从不同的inrefaces继承
答案 0 :(得分:0)
Visitor模式怎么样?
访客走过对象结构(可以是root和v1,..)
然后在每个步骤中通过结构中的对象,您可以有一个或多个操作(在这种情况下,将以json格式打印的车辆描述)