У меня есть веб-приложение, разработанное на 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?
Примечание: я не писал базовых вещей, таких как конструкторы и методы получения / установки.