我们有一个由不同类型的节点组成的树结构,我的任务是编写一些将树导出为某种 XML 格式的代码。
每个节点都从某个基本节点继承,因此它们可以继承基本导出方法,但是对于几种类型的节点,我需要编写自定义导出方法,因为它们的数据以“有趣”的方式存储。
这些节点目前只包含数据和一些与树管理相关的方法。我觉得避免向节点本身添加导出方法是更好的设计,因为这意味着节点正在处理多个职责(管理其父/子,导出)
导出过程基本上从根节点开始并递归调用export
,所以理想情况下我可以只实现一个export
方法
我正在寻找一种方法(可能是一种设计模式),它允许我在一个单独的类中编写所有导出代码,同时利用节点具有一些继承层次结构的事实。
如果有什么不同,这将用java编写。