Если у каждой «панели мониторинга» есть контроллер, почему бы не вызвать регистрацию с контроллера.

я есть веб-приложение, разработанное на Java 1.5 с Spring Framework. Приложение содержит «инструментальные панели», которые представляют собой простые страницы, на которых перегруппируется куча информации и где пользователь может изменить какой-либо статус. Менеджеры хотят, чтобы я добавил систему регистрации в базу данных для трех из этих панелей мониторинга. Каждая информационная панель имеет различную информацию, но журнал должен отслеживаться по дате и имени пользователя.

То, что я хотел бы сделать, это реализовать шаблон Стратегии примерно так:

interface DashboardLog {
   void createLog(String login, Date now);
}

// Implementation for one dashboard
class PrintDashboardLog implements DashboardLog {
  Integer docId;
  String status;

  void createLog(String login, Date now){
    // Some code
  }
}

class DashboardsManager {
  DashboardLog logger;
  String login;
  Date now;

  void createLog(){
     logger.log(login,now);
  }
}

class UpdateDocAction{
   DashboardsManager dbManager;

   void updateSomeField(){
      // Some action
      // Now it's time to log
      dbManagers.setLogger = new PrintDashboardLog(docId, status);
      dbManagers.createLog();
   } 
}

Appcontext.xml:

<bean id="dashboardManagers" class="...DashboardManagers" />

Поэтому в этом решении я не использую внедрение зависимостей. «Правильно» (хорошая практика, производительность, ...) делать это таким образом? Есть ли лучший способ, где я мог бы использовать DI?

Примечание: я не писал базовых вещей, таких как конструкторы и методы получения / установки.

Ответы на вопрос(0)

Ваш ответ на вопрос