Детали реализации шаблона команды DDD - Сохраняющиеся команды - PullRequest
2 голосов
/ 06 марта 2011

У меня есть проект, в котором я хочу иметь возможность назначить один или несколько объектов команд сущности, которая затем будет использовать эти команды как часть своего рабочего процесса.Что-то вроде назначения дополнительных функций для учетной записи пользователя, ради аргумента.

Я понимаю шаблон Команды и как он подходит, но мой вопрос - это вопрос настойчивости.Если у меня есть список команд, где каждая учетная запись пользователя может иметь свой собственный список команд, и давайте предположим для аргумента, что единственное, что важно в команде - это ее системный тип, и / или все они имеют одинаковые свойства.Каков наилучший способ сохранить это, когда придет время реализовать мой уровень данных?

Я рассматривал вопрос о том, чтобы сделать это как соотношение многих ко многим между таблицей счетов и таблицей команд / функций, где следует последняя таблицастратегия TPH (т.е. все команды сохраняются в одной таблице).Кажется, это самый чистый способ сделать это, но я хотел бы узнать, следует ли кому-то еще другая стратегия?

Вместо этого вы делаете это отношением 1: много, где любые два аккаунта имеют одинаковуюдобавленная функция имеет другой экземпляр этой функции?Или есть лучший способ, о котором я вообще не думаю?

1 Ответ

1 голос
/ 06 марта 2011

Многим-многим с ТПХ для меня все в порядке.

Хотя мне интересно ваше дизайнерское решение присоединять команды к разным пользователям, похоже, вы пытаетесь использовать их для авторизации |в целях разрешения, вместо реализации обычной системы авторизации с использованием Role Based Security или ACL.Если это так, то я бы, вероятно, использовал бы безопасность на основе ролей на внутреннем уровне и для команд пользовательского интерфейса, которые создаются динамически на основе внутренней безопасности, а не статически хранятся в БД.

...