Вопрос проектирования для использования бизнес-объектов в качестве formBackingObjects в Spring SimpleFormController.
Ответственность нашего контроллера заключается в том, чтобы позволить конечному пользователю добавить новый бизнес-объект в наше веб-приложение.
Итак, мы передаем наш бизнес-объект через метод formBackingObject (запрос HttpServletRequest). Однако мы столкнулись с загадкой.
Фабрика, которую мы используем для создания нашего нового бизнес-объекта, применяет бизнес-правила, согласно которым некоторые атрибуты не могут быть нулевыми. Но поскольку мы не знаем, что хочет ввести Конечный пользователь, мы передаем «разумные значения по умолчанию», такие как «Пожалуйста, введите желаемое имя», но в лучшем случае это выглядит как хаки / icky.
Что делать разработчику? Я чувствую, как будто это классическая проблема курица / яйцо.
Все наши бизнес-объекты основаны на интерфейсах. Должны ли мы создать заглушку, которая представляет бизнес-объект, передать заглушку как formBackingObject, а затем передать заглушку фабрике при отправке формы? Или мы не должны ничего передавать в формеBackingObject, а затем вручную собирать предоставленную информацию из запроса?
Есть ли другие разумные идеи / закономерности?
Спасибо за ваше время.