Мне нужен способ описания отношений между двумя объектами, и я не уверен, какие у меня есть варианты.
У меня есть IEnumerable<IResource>
, и у каждого IResource
есть IEnumerable<IResource>
свойство зависимых.
public interface IResource
{
IEnumerable<IResource> DependentResources{get;set;}
}
Каждый ресурс может иметь ноль или более зависимых ресурсов, и связь между ресурсом и его иждивенцами может быть жесткой или мягкой.
Я немного не уверен, где хранить информацию об этих жестких / мягких отношениях. Хранение типа отношения в ресурсе кажется неуместным.
Некоторая дополнительная информация, которая может быть полезна:
Я начну с IEnumerable<IResource>
всех возможных ресурсов. Предметы в этой коллекции не знают своих отношений с другими ресурсами.
Когда пользователь запрашивает зависимые ресурсы данного ресурса, выполняется вызов веб-службы, возвращающий коллекцию руководств. Из этого списка руководств я возвращаю соответствующий ресурс с его зависимостями, загруженными из оригинальной коллекции AllResources.
У меня может быть свойство на ресурсе, например:
DependencyTypeEnum.DependencyType ContextualRelationship{get;set;}
или даже хранить жесткие / мягкие зависимости в отдельных коллекциях, но мне интересно, есть ли лучший подход к этому.