How to efficiently implement a strategy pattern with spring ?
Posted
by
Anth0
on Stack Overflow
See other posts from Stack Overflow
or by Anth0
Published on 2010-12-29T10:44:09Z
Indexed on
2010/12/29
10:53 UTC
Read the original article
Hit count: 214
I have a web application developped in J2EE 1.5 with Spring framework. Application contains "dashboards" which are simple pages where a bunch of information are regrouped and where user can modify some status. Managers want me to add a logging system in database for three of theses dashboards. Each dashboard has different information but the log should be traced by date and user's login.
What I'd like to do is to implement the Strategy pattern kind of like this :
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();
}
}
Is it "correct" (good practice, performance, ...) to do it this way ? Is there a better way ?
Note :I did not write basic stuff like constructors and getter/setter.
© Stack Overflow or respective owner