Я только что начал с Domain Driven Design и пытаюсь применить его для моего текущего проекта.
Я начал с чисто доменной модели и теперь привязался к своему слою доступа к данным.У меня есть полностью самодельный уровень доступа к данным, поэтому ни один из хорошо известных инструментов ORM не может быть применен здесь.
Не могу понять, что делать с обновлениями.Допустим, у меня есть следующие объекты:
public class Document : Entity
{
public IPropertiesCollection Properties { get; set; }
public IContents Contents { get; set; }
}
public class PostalDocumentsPackage : Entity
{
public String Name { get; set; }
public DateTime DeliverDate { get; set; }
public ICollection<Document> Documents { get; set; }
}
У меня есть соответствующие репозитории IDocumentsRepository и IPostalDocumentPackagesRepository для получения объектов (на данный момент).
Проблема, с которой я сейчас сталкиваюсь, заключается в ситуации, когда я хочу добавить новый документ или сделать коллекцию документов PostalDocumentsPackage.В основном я вижу два возможных случая:
1) Реализация коллекции, которая отслеживает изменения в исходной коллекции и содержит списки элементов, которые были обновлены \ удалены.
2) Реализация отдельных методов в хранилище длядобавление документов в пакет.
Интересно, эти подходы в порядке или могут вызвать проблемы в будущем?или есть другие альтернативы?