在代码中处理数据层次结构

时间:2010-05-05 16:17:37

标签: c# conventions

所以,假设我有一个用给定格式解析的字符串,该格式映射到像数据结构这样的树。字符串有点类似于文件夹路径,结构类似于文件结构,除了它有一些规则

所以       东西@ CAT1 @ otherSomething

你会得到

 /something/cat1/otherSomething 

@ cat2 @ otherSomething 你会得到

 /something/cat2/otherSomething

其他例子

/OtherThing/cat1/otherSomething/Blah
/OtherThing/cat4/otherSomething

某些东西,cat1,otherSomethign等是ICategory的某种实例

有一些规则可以控制哪些子类别是有效的,哪些子类别是不可接受的,目前我正在考虑一个重要的对象层次,但我知道这不是一个灵活的解决方案,我更喜欢这些类别有点更一般,但又一次,因为有关于接下来会发生什么的规则,我不知道该怎么做。

规则的一个示例可以是: OtherThing 只能包含子类别cat1和cat4(其他任何内容都无效)

一个选项是使用某种基于约定的aproach来实例化一个给定字符串子部分的特定类(如cat4),但它似乎有点过于复杂,我全是耳朵

由于

1 个答案:

答案 0 :(得分:0)

我认为我正在采用允许儿童类型的集合