对象模式的嵌套层次结构
本文关键字:层次结构 嵌套 模式 对象 | 更新日期: 2023-09-27 17:59:00
我有一个对象,它可以具有相同对象类型的父对象和子对象。有没有一种标准化的方式来实现这种模式?
类似于:
public class Nested
{
public string Name {get; set;}
public List<Nested> Parents {get {TODO}}
public List<Nested> Children {get {TODO}}
}
看看这里的复合模式
从内存的角度来看,类的任何实例似乎都需要递归地过滤所有内容,以找出关系。这太麻烦了。
我建议只给你的类一个这样的属性(或者更复杂的东西,取决于你想要实现的目标):
public Nested parent;
这将使它成为一个链接列表。您可以在类之外单独创建一个方法,该方法可以根据一组有限的参数(例如FindParentsOfNestedToCertainGeneration(int numOfGenerations,Nested-child)——这将只转到child并在"parent"属性中的父级链中向上)来查找父级。