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