码迷,mamicode.com
首页 > 其他好文 > 详细

系统通知module设计

时间:2015-05-11 16:11:37      阅读:144      评论:0      收藏:0      [点我收藏+]

标签:notification   通知   结构   设计   java   

很久没总结这段时间的知识了,趁着今天有空,总结一下。先来记录下自己做的系统通知依赖jar的设计,不论好坏,权且当做自己学习的一个过程。

在写设计之前,先来简单介绍下需求。需求抽象后可以归纳为:特定条件下,将某条系统数据某种特定结构通知给相关的用户

根据上面的抽象,存储的结构已经可以设计出来。如下图。

技术分享


实体部分

Notification:通知主实体。

NotificationInfo:通知的详细信息。分开是考虑到通知是作为jar使用的,不同业务的扩展属性不同。

NotificationSchedulePlan:控制定时通知、即使通知的控制。

NotificationReadHistory:消息已读记录。

以上结构,是分开还是放在一张表里面,由系统复杂度和业务复杂度决定。并不是一味的分开、合并,毕竟要考虑到项目的时间约束,收益,成本问题。

其中NotificationInfo建议在业务模块实现。


Service部分:

NotificationUserConfig:业务系统对是否通知客户的rule设定。

NotificationService:业务系统获取需要通知列表和具体通知的入口。

NotificationFactory:控制不同类型通知的generator调用,有业务系统调用。

NotificationGenerator:BizA表示某种业务领域,从模式上应该提供defaultGenerator。每个generator根据需求提供日志内容生成器。


具体实现上不复杂,最终提供一个notification的依赖jar,系统引用后提供factory、generator、type实现。结构上实现复用。

再提供一个前端的查询接口,在browser中显示即可。读取方式可以是常规的轮询、长连接等。这些资料网上很多。

系统通知module设计

标签:notification   通知   结构   设计   java   

原文地址:http://blog.csdn.net/paristao/article/details/45643651

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!