描述在代码中使用的对象之间的关系
本文关键字:对象 之间 关系 代码 描述 | 更新日期: 2023-09-27 18:07:09
我需要一种描述两个对象之间关系的方法,但我不确定我有什么选择。
我有一个IEnumerable<IResource>
,每个IResource
都有一个依赖的IEnumerable<IResource>
属性。
public interface IResource
{
IEnumerable<IResource> DependentResources{get;set;}
}
每个资源可以有零个或多个依赖资源,资源与其依赖资源之间的关系可以是硬关系,也可以是软关系。
我有点不确定在哪里存储关于这种硬/软关系的信息。在资源中存储关系类型似乎不合适。
一些可能有用的进一步信息:
我从所有可能资源的IEnumerable<IResource>
开始。此集合中的项不知道它们与其他资源的关系。
当用户请求给定资源的依赖资源时,一个web服务调用将返回一组Guids。从这个向导列表中,我返回有问题的资源及其从原始AllResources集合加载的依赖项。
我可以在资源上有一个属性,比如:DependencyTypeEnum.DependencyType ContextualRelationship{get;set;}
或者甚至将硬/软依赖项存储在单独的集合中,但我想知道是否有更好的方法来实现这一点。
您是否考虑过更改它,以便依赖项知道资源和硬/软性质?
public interface IDependency
{
IResource Resource { get; }
DependencyType Type { get; }
}
public interface IResource
{
IEnumerable<IDependency> Dependencies { get; set; }
}