【发布时间】:2016-08-26 07:20:47
【问题描述】:
假设有一个系统在发生某些事情时会填充数据库中的行:
- 当用户简单地登录时,将在表
user_logins中插入一行登录类型和时间的行。 - 当操作员呼叫用户时,在表
outgoing_calls的数据库中插入一行操作员ID、用户ID和日期 - 当接线员未接听用户呼叫时,将带有日期、用户 ID 和呼叫类型的行插入到数据库中
然后在某个时间段结束后,比如一个月,我们需要一份关于谁打电话给谁,多少电话没有接听等的报告。应该使用什么模式来组织这个功能?
乍一看,这个过程好像记录了很多,但记录是我们以某种格式(date-processId-messageWithPlaceHolders)存储消息时的过程。所以使用日志系统不是很合适。
从另一个角度来看,它看起来像事件处理,但是当“事件”发生时不需要做任何动作,没有监听器,没有队列。只需存储到数据库以供进一步报告。
那么应该使用什么模式或技术来有效地实现这个功能呢?
【问题讨论】:
标签: java design-patterns architectural-patterns