@ChelFeb

Как сохранить консинстентность между двумя кусками кода в приложении которые дублируют бизнес логику?

Есть проблема, в проекте на java с некоторым MVC фреймворком, есть два места с дублированием логики сохранения пользователя. Специфика приложения такова, что
1) Ведется аудит изменений состояния(полей) юзера при сохранении. При чем у него много дочерних объектов.
2) И из этого аудита восстанавливается состояние юзера.
3) При воостановлении нужно учесть порядок вызова методов, выполнения некоторых дополнительных действий вроде отправки сообщения на email о создании.

Основная проблема в поддержки данной функциональности то что юзер сохраняется в двух местах 1) В контроллере из бина с данных полученых с клиента. 2) С аудита в аудит менеджере.
И при дальнейшем изменении в контроллере либо порядка сохранения либо добавление новых/удаление полей юзера нужно как то сохранить консистентность в контроллере и в аудит менеджере.
  • Вопрос задан
  • 316 просмотров
Решения вопроса 1
@protven
Рефакторите. Например вынесите этот функционал в какое-то отдельное место и дергайте его из ваших двух сервисов.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы