描述在代码中使用的对象之间的关系
问题描述:
我需要一种描述两个对象之间关系的方法,并且不确定我拥有哪些选项。描述在代码中使用的对象之间的关系
我有一个IEnumerable<IResource>
和每个IResource
有一个IEnumerable<IResource>
受抚养人的财产。
public interface IResource
{
IEnumerable<IResource> DependentResources{get;set;}
}
每个资源可以有零个或多个从属资源,资源及其相关资源之间的关系既可以是硬也可以是软的。
我有点不确定在哪里存储有关这种硬/软关系的信息。将关系类型存储在资源中似乎不合适。
一些进一步的信息,可能是有用的:
我用一切可能的资源的IEnumerable<IResource>
开始启动。这个集合中的项目不知道它们与其他资源的关系。
当用户请求给定资源的依赖资源时,Web服务调用将带回一组Guid。从这个guid列表中,我将所讨论的资源与从原始AllResources集合加载的其依赖关系返回。
我可能对资源的属性,如:
DependencyTypeEnum.DependencyType ContextualRelationship{get;set;}
甚至存放在单独的收藏硬/软的依赖,但我不知道是否有这更好的方法。
答
你有没有考虑改变它,使依赖知道资源和硬/软的本质?
public interface IDependency
{
IResource Resource { get; }
DependencyType Type { get; }
}
public interface IResource
{
IEnumerable<IDependency> Dependencies { get; set; }
}
+0
谢谢乔恩。这使得更多的意义:) –
软硬关系,请问您的一些自定义属性?或者它是一些概念? – Tigran
硬/软概念是我们与之交互的Altiris系统的一部分。我正在生成资源和依赖关系图,并需要区分硬/软依赖关系。 –