3
我忙于一个项目,在这个项目中,我将实现将对象与对象相关联的树结构。我发现了一篇很棒的文章,描述了非二叉树的逻辑和编码:Tree<T>: Implementing a Non-Binary Tree in C#。我认为这是一个很好的实施。C#逻辑树的持久性
然而,我的问题与我想用域驱动开发方法开发这一事实有关。那么,设计过程中出现的问题是,我的树和其他对象的组合域模型如何等同于数据持久性模型?
由于Tree实现使用泛型,因此存储数据的域对象将忽略它是树的一部分的事实。例如,我正在努力想出如何将这与使用存储库模式和nhibernate的数据检索和持久性等同起来。
我最初的想法是,我需要实现一个非常具体的自定义存储库,它将处理树的遍历和持久化。然而,目前它很朦胧。
有没有人有过这样的事情,可以分享他们的经验或提供一些代码?
我不知道是否内置序列化器会序列化你的树。例如,SOAP序列化程序序列化没有问题的对象图。另一个问题是你是否想要坚持整个发束,或者宁愿单独留下它们的连接。 –
谢谢Wiktor。我不想把整棵树作为一系列的数据。我需要将每个节点作为单独的数据项来存储。所以我预见坚持节点作为单独的数据项目,然后在一个单独的地方连接作为一个可行的方法。 – Ozzy