Шаблон DAO и объекты модели

Я просмотрел много информации о шаблоне DAO и понял суть. Но я чувствую, что большинство объяснений не рассказывают всю историю, и под этим я подразумеваю, где бы вы на самом деле использовали свой DAO. Так, например, если у меня есть класс User и соответствующий UserDAO, который может сохранять и восстанавливать пользователей для меня, что является правильным способом:

  • Контроллер создает объект User и передает его в UserDAO для сохранения в базе данных

  • . Контроллер создает объект User, а в своем конструкторе объект user вызывает userDAO, чтобы сохранить себя в базе данных

  • . Это запах кода, и вам не хватает дополнительного класса «UserManager», который контроллер попросит создать пользователя. UserManager отвечает за создание пользователя и просит UserDAO сохранить его

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

15
задан Reinstate Monica 18 May 2015 в 09:00
поделиться