微信公众平台开发者社区_php微擎框架

微信公众平台开发者社区_php微擎框架一、思考开发了几个微信项目,一直在思考:如何将微信相关的处理与业务系统联系在一起?如何做到彼此分离,且易于扩展?能否开发一套独立的微信服务框架,支持各种业务应用?二、现有常用的服务框架支持多种业务应用,我们通过分层的方式来实现。将复杂的系统进行分层,将一些功能或者特有的逻辑进行封装,封装为不同的基础服务或中间件。业务层无需关心底层具体实现,只需进行简单调用、组装

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

一、思考

开发了几个微信项目,一直在思考:
如何将微信相关的处理与业务系统联系在一起?
如何做到彼此分离,且易于扩展?
能否开发一套独立的微信服务框架,支持各种业务应用?

二、现有常用的服务框架

支持多种业务应用,我们通过分层的方式来实现。将复杂的系统进行分层,将一些功能或者特有的逻辑进行封装,封装为不同的基础服务或中间件。业务层无需关心底层具体实现,只需进行简单调用、组装,即可支撑强大的业务应用。这样保证了层级独立,也使得系统易于维护和扩展。在一个平台基础上,可以构建多种业务应用。就像建楼房,地基打好了,楼房样式可以多种多样。也好比做菜,各种食材准备好了,可以进行不同搭配组合,就能做出不同的美味。常用的框架结构:MVC、MVVM等。以下就是通常的MVC架构。

微信公众平台开发者社区_php微擎框架

 

三、微信服务框架

但是微信公众平台与以往的项目有所不同。其实现不再基于计算机底层实现。从应用层面讲,需要对业务的上层,即显示层和前端逻辑层、通信层,进行封装,下面才是真正的业务系统。从整体考虑,系统通过设计通用微信服务框架,支持所有业务。微信服务框架的改动,只与微信接口的调整做相关。多个业务系统,公用一套微信服务框架。这里介绍一种实现架构,如有欠缺,欢迎批评指正。

1、由微信服务框架,负责与微信服务器进行交互,包括验证签名、消息处理、消息分发、安全策略、日志处理等。

2、通过服务接口,将微信服务框架与业务逻辑进行分离,通过服务注册,将业务服务注册到微信服务框架。

3、通过微信服务框架的服务分发器,调用具体的业务应用。

4、业务应用,可以全新开发,也可以在已有的业务逻辑基础上,封装相关服务,并提供对应Provider,对微信接口予以支持。

 具体框架图如下所示:

微信公众平台开发者社区_php微擎框架

 

 四、未来信息系统实现的一些愚见

仅仅是个人的一些看法。

从一个业务系统长远发展来看,一套业务系统,UI端会很多。特别是移动互联网的发展,许多功能需要移动化,之前的PC端、Web端,已经有一点的局限。

还有云计算的发展和深入,我们的业务服务也可以部署在云端。这些都对传统的信息系统提出了挑战。

如何将业务系统与前端展现相分离?
如何支持多终端?
能否实现一套业务逻辑,多端展现?

无论是开发新系统新应用,还是在已有的系统上扩展,这些问题必须认真考虑。业务逻辑需要更加细化、更加独立,业务逻辑需要从前端抽取出来,为了适应各种终端应用,可能需要加入一些适配层、代理层。尽管难度很大,但是在这个信息化高速发展的时期,如果不顺应潮流,势必被时代所淘汰。所以,变革不可避免。未来信息系统开发框架可能会变为下图所示。这里只是一个简单提纲,以后会就这一点进行专题介绍。

微信公众平台开发者社区_php微擎框架

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/171585.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • js 正则替换换行符

    js 正则替换换行符vardiv=document.getElementById(‘div’);vars=div.innerHTML.replace(/(\n|\r|(\r\n)|(\u0085)|(\u2028)|(\u2029))/g,””);//g的意思是:执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。//取消了空格之后在做其他的替换才可以,否则不能替换

    2022年5月24日
    136
  • java中finalized的用法_java中的引用类型

    java中finalized的用法_java中的引用类型我们通常用构造器来创建对象,而Finalize正好相反,构造方法执行对象的初始化操作,finalize方法执行对象的销毁操作.那我们什么时候需要使用finalize方法呢,我们都知道Java里垃圾回收器可以回收对象使用的内存空间,但是对象可能会持有很多资源比如Socket、文件句柄等,垃圾收集器无法回收这些资源,因此你需要使用finalize方法帮助GC回收这些资源,比如关闭打开的文件或者网元资源…

    2022年9月18日
    0
  • VirtualBox 主机ping不通虚拟机的解决办法

    VirtualBox 主机ping不通虚拟机的解决办法虚拟机与主机之间相互ping通有一个问题,就是虚拟机能够ping通主机本地主机ping不通虚拟机:解决办法:1、如果虚拟机有两个网卡将虚拟机网卡2的连接方式改成桥接即可:⚠️要将虚拟机重启,否则是成功不了的(重要)然后就能够通过网卡2进行连接:2、虚拟机只有一个网卡也是将网卡1改成桥接模式⚠️要将虚拟机重启,否则是成功不…

    2025年6月9日
    1
  • MyEclipse安装SVN插件详解

    MyEclipse安装SVN插件详解今天弄了一下svn插件,确实不太容易,花了一番功夫才搞定,所以,为了以后不为同样的工作花费时间去学重复的事情,我决定记录一下自己安装SVN插件到MyEclipse的过程。也为苦恼在这事上的朋友提供点资源。首先当然是准备工具咯,svn的插件下载地址:http://www.eclipse.org/subversive/downloads.php#latest_releasesvn-con…

    2022年7月20日
    14
  • [Unity3D]Unity4全新的动画系统Mecanim

    [Unity3D]Unity4全新的动画系统Mecanim

    2021年12月17日
    86
  • 机器学习算法(一)SVM

    机器学习算法(一)SVM支持向量机(supportvectormachines,SVM)是一种二分类模型,它将实例的特征向量映射为空间中的一些点,SVM的目的就是想要画出一条线,以“最好地”区分这两类点,以至如果以后有了新的点,这条线也能做出很好的分类。SVM适合中小型数据样本、非线性、高维的分类问题。SVM最早是由VladimirN.Vapnik和AlexeyYa.Chervonenkis在1963年提出,目前的版本(softmargin)是由CorinnaCortes和Vapnik在1

    2022年10月6日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号