我正在使用Composite pattern来表示分层数据结构:
每个Leaf代表一项特定任务。首先,向用户呈现特定场景的默认任务列表,然后用户检查/取消检查某些任务(例如,使用TreeView控件),并且在接受选择时,数据最终持久保存到XML文件。该数据稍后由(1)完成检查任务的引擎或(2)UI显示已选择的任务列表使用。
在某些情况下,某些(复杂)任务需要额外的“内部”任务作为引擎生成复杂任务的先决条件。但是,我不希望向用户显示这些“内部”任务,但它们仍然被引擎使用并写入XML文件。
知道我可以拥有大量不同的场景类型(每个场景都有自己的XML文件),每个场景都有完全不同的列表/排列/默认选择任务,以及基于某些选择的不同“内部”任务一些任务,我如何实现XML文件的读/写与UI +引擎之间的接口?一个从UI隐藏“内部”任务,但通过将它们写入XML文件来跟踪它们,以及允许基于场景类型进行不同自定义的任务?
答案 0 :(得分:1)
根据我的理解,你基本上有一个任务列表,这些任务可以有子任务。所以这是我的想法:
我知道这有点抽象,但如果这回答了你的问题,或者是否有任何混淆,请告诉我。