描述在代码中使用的对象之间的关系

问题描述:

我需要一种描述两个对象之间关系的方法,并且不确定我拥有哪些选项。描述在代码中使用的对象之间的关系

我有一个IEnumerable<IResource>和每个IResource有一个IEnumerable<IResource>受抚养人的财产。

public interface IResource 
{ 
IEnumerable<IResource> DependentResources{get;set;} 
} 

每个资源可以有零个或多个从属资源,资源及其相关资源之间的关系既可以是硬也可以是软的。

我有点不确定在哪里存储有关这种硬/软关系的信息。将关系类型存储在资源中似乎不合适。

一些进一步的信息,可能是有用的:

我用一切可能的资源的IEnumerable<IResource>开始启动。这个集合中的项目不知道它们与其他资源的关系。

当用户请求给定资源的依赖资源时,Web服务调用将带回一组Guid。从这个guid列表中,我将所讨论的资源与从原始AllResources集合加载的其依赖关系返回。

我可能对资源的属性,如:

DependencyTypeEnum.DependencyType ContextualRelationship{get;set;} 

甚至存放在单独的收藏硬/软的依赖,但我不知道是否有这更好的方法。

+0

软硬关系,请问您的一些自定义属性?或者它是一些概念? – Tigran

+0

硬/软概念是我们与之交互的Altiris系统的一部分。我正在生成资源和依赖关系图,并需要区分硬/软依赖关系。 –

你有没有考虑改变它,使依赖知道资源和硬/软的本质?

public interface IDependency 
{ 
    IResource Resource { get; } 
    DependencyType Type { get; } 
} 

public interface IResource 
{ 
    IEnumerable<IDependency> Dependencies { get; set; } 
} 
+0

谢谢乔恩。这使得更多的意义:) –