【发布时间】:2015-02-02 09:41:31
【问题描述】:
我正在设计一个内容管理系统。此刻我正在处理文件
public Enum DocAction(){
DOCUMENTSUBMITTED,
DOCUMENTAPPROVED,
DOCUMENTREJECTED
}
public Enum NotificationType(){
EMAIL,
TEXT,
POPUP
}
public class Newspaper(){
private long id;
private map<DocAction,long> notifications;
private long EditorId
}
Public class Document(){
private long id;
private long newspaperId;
private long authorId
private String article
}
Public class Notification(){
private long id
private map<NotificationType,long> notifications
}
类的大致轮廓如上。
我希望它针对某些操作(文件提交、批准、拒绝等)发出通知,具体取决于它提交给的报纸。
然后我可以进入相应的方法,例如“saveDocument”,检查一个键是否存在,如果存在则将它映射到的通知发送给编辑/作者。
我认为 Enums 是一个很好的计划,它可以添加或删除尽可能多的内容,而且并非所有报纸都想全部使用。但是我被告知这是一个糟糕的设计,因为 e-nums 很难管理,并且需要通过重新部署等进行大量维护。
我想知道是否有更适合这种设计的设计模式。
我认为的替代方案只是每次调用一个方法,并使用 freemarker 来确定是否应该发送电子邮件。
主要特点:
- 报纸有通知(可能有多种类型)
- 在某些操作时需要发送通知,有时是编辑器 ID,有时是作者 ID
- 每份报纸的活动数量会有所不同。
感谢您的帮助。
【问题讨论】:
标签: java design-patterns notifications content-management-system