А как насчет таблиц ссылок в доменном дизайне?
В книге.NET-Driven Design с C# от Tim McCarthy приведен пример таблицы ссылок (два внешних ключа + один логический столбец), который получает свой собственный класс в домене. Это распространено?
Примером является таблица контактов и таблица проекта. Таблица ссылок - это ProjectContact. Каковы преимущества и недостатки использования класса ProjectContact вместо того, чтобы иметь свойство List of Contacts в классе Project и свойство List of Projects в классе Contact?
Я должен сказать, что наличие класса ProjectContact облегчает сохранение новой связи между проектом и контактом... но это кажется мне излишним.
1 ответ
Говоря прагматично (я не эксперт DDD), я бы сказал, что таблица ссылок не должна появляться в домене, если только она не является отдельной сущностью (т.е. вам нужно привязать к ней поведение или у нее есть свойства, другие чем внешние ключи).