Где создавать новые объекты домена? Контроллер, репозиторий или картограф?

Скажем, для каждой сущности домена у меня есть репозиторий, предоставляющий API для сопоставления данных. Например, если у меня есть UserEntity, то у меня будет UserRepository, который взаимодействует с UserMapper для сохранения пользовательских данных в базе данных.

Теперь предположим, что форма отправлена ​​на веб-страницу, и мой контроллер знает, что ему нужно создать новый UserEntity на основе отправленной информации.

Делает ли это:

  1. делает new UserEntity() прямо на месте и запускает все необходимые методы установки в соответствии с отправленными данными формы, затем передает UserEntity в репозиторий, который передает мапперу для вставки?

    Контроллер создает UserEntity => Repo => Mapper => DB

  2. превращает данные формы в массив и передает их в UserRepository, который затем запускает new UserEntity() и сеттеры и передает их в Mapper для вставка?

    Контроллер передает пользовательские данные => Репо создает UserEntity => Mapper => БД

  3. передает массив в UserRepository, кто передает массив в маппер для нового UserEntity и вставки?

    Контроллер передает данные пользователя => Репо передает данные пользователя => Mapper создает UserEntity => БД

Кто отвечает за управление созданием объектов?

7
задан johnnietheblack 15 March 2012 в 21:23
поделиться