zoukankan      html  css  js  c++  java
  • 程序员的自我救赎---4.2:消息中心讲解与应用

    《前言》

    (一) Winner2.0 框架基础分析

    (二)PLSQL报表系统

    (三)SSO单点登录

    (四) 短信中心与消息中心

    (五)钱包系统

    (六)GPU支付中心

    (七)权限系统

    (八)监控系统

    (九)会员中心

    (十) APP版本控制系统

    (十一)Winner前端框架与RPC接口规范讲解

    (十二)上层应用案例

    (十三)总结

    《消息中心讲解与应用》

    在讲消息中心之前我希望看我这篇博客的园友们能先看一些《短信中心源码分析与应用(工厂)》,因为这两个项目很类似,但是在Winner中的意义却差别很大。

    首先短信中心的主要职责是发送短信,消息中心中包含短信模块。除此之外消息中心支持:微信消息推送,邮件推荐,APP消息推送,站内信等等。

    常言道:“一图胜过千言万语”。我们直接上图:

     消息中心是符合标准工厂的方式来做的,使用静态工厂却创建。这跟前面的《短信中心源码分析与应用(工厂)》里讲到的1.0是一模一样的,在消息中心中我们并没有

     去SaaS。 这是也有一点历史原因,其实就是 短信中心是 后来重构了一次,而消息中心没有。

    消息中心在Winner体系中应用最多的地方就是APP的消息推送。我们使用的“极光推送”。这个第三方平台还可以,当然类似的平台还有几个,目前我们只用了极光推送

    我们没有去对比其他平台,总归极光符合我们的需求,就一直用他。关于APP如何实现极光推送这里我就直接引用极光推送的官网:https://www.jiguang.cn 

    然后就是微信公众号的推送,这中间如何申请微信公众号,如何实现发送消息官网上都很清楚我也不去赘述了: https://mp.weixin.qq.com/

    只是微信有比较恶心的一点就是必须按照它模板的格式去发,甚至说发送的内容什么字体什么颜色都有明确的要求。 至此,这里对我们来说要求每个项目都要去

    编写模板信息就太费事了,所以我们将常用模板保存在了数据库,并自己开发了模板解析的方法。

     

    其实透一点就是数据库存储了膜拜内容,而膜拜内容中我们用了类似之前《PLSQL报表系统》中的关键字替换,而这些关键字我们都有对应的实体类。

    整个项目不复杂,但是战略位置却很有意义,还是那句话:“职责分离”。

    最后,发送邮件、站内信 都是自己开发的具体实现,区别在于,站内信我们没有去开发一个“站内信系统”、“邮件系统”。这个是没有开发的,相对而言这两个的需求

    在我们所开发的项目中还是较少的,邮件我们用的腾讯的企业邮箱(https://exmail.qq.com)有每天有500条免费发送量,足够我们用了。如果对此后续还业务量的需求,我们也会像短信中心

    那样开发一个“邮件系统”。甚至还要单独拿台服务器出来做邮件服务器。 

    另外,我图上也特地画了一下Web模块,之前的“短信中心”是没有Web模块,假如这个时候有一个需求就是:临时需要推送一条通知给制定用户的话,怎么办?

    短信中心是没有操作界面给我们的市场人员去操作的。

    其实不是不能,而是这个需求的实现者不是短信中心,而是消息中心。由消息中心的Web管理后台的给用户发送消息,甚至是群发短信,微信短信组合发送 都可以的。

    消息中心其实没有必要单独拿出来开一个篇章,但是还是因为它的是项目开发中必不可少的一个组件,重要的还是表达一个Winner2.0的“组件化”思想。

    (补充一点:其实消息中心又那么点“工厂方法”的味道, 如果把消息中心和短信中心组合在一个项目里面的话,那这就完整的工厂方法模式了。)

    有兴趣一起探讨Winner框架的可以加我们QQ群:261083244。或者扫描左侧二维码加群。

  • 相关阅读:
    类加载机制与反射(一)
    Java注解
    Tomcat部署多个项目及相关配置
    Tomcat安装阿里云免费证书
    Java泛型
    Java解析和生成XML
    枚举类
    类成员
    成员变量的初始化和内存中的运行机制
    数据仓库与数据挖掘(一)
  • 原文地址:https://www.cnblogs.com/demon28/p/8005376.html
Copyright © 2011-2022 走看看