我有一个使用 Spring 框架在 Java 1.5 中开发的 Web 应用程序。应用程序包含“仪表板”,它们是简单的页面,其中重新组合了一堆信息,用户可以在其中修改某些状态。经理希望我在数据库中为其中三个仪表板添加一个日志系统。每个仪表板都有不同的信息,但日志应按日期和用户登录进行跟踪。
我想做的是实现这样的策略模式:
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();
}
}
应用上下文.xml:
<bean id="dashboardManagers" class="...DashboardManagers" />
因此,在这个解决方案中,我没有使用依赖注入。这样做是“正确的”(良好的做法,表现,......)吗?有没有更好的方法可以使用 DI ?
注意:我没有编写诸如构造函数和 getter/setter 之类的基本内容。