-
一、 通信架构
使用框架BlazeDS,这里略去不谈,感兴趣的同学,可以到adobe官网查看相关资料;和spring框架的整合,请自己google之。
基于AMF协议,自定义了AMFLogEndPoint extends AMFEndpoint和FlexSpringFactory implements FlexFactory。抛去AMF通信框架不谈,只讲自定义实现类。
-
AMFLogEndPoint :实现了 AMFEndpoint .createFilterChain() 方法,过程如下 :
解密:远程调用传来的每一个参数的原生类型是字节数组,对这些字节数组解密:调用DefaultDecrypt.decrypt(),decrypt调用了DecryptUtil.reverse()来完成解密,解密算法是间隔一定字节数,就将下一字节和key中的一个字节做异或运算。此算法同样用于客户端加密。(这个地方还是很直接借鉴的,嘿嘿)
2. FlexSpringFactory
-
二、 程序分层
这里省略了domain层,上图中的任何一层都依赖于domain层。
-
三、 数据库访问层 (DAL)
七雄的代码结构比较混乱,下面是我看了七雄的代码,对七雄的程序结构优化之后总结出来的。
以UserService. createUserWithCommit()为例:
个人觉得:这里使用的“事务”根本起不到“数据库事务”的真正作用,仅仅是起到AOP拦截的作用。另外,UtilDB.lockUser(int userId)也是完全没必要的,我看了该方法的实现,简单来说就是加了一个行级锁。相反,我反而认为这个存在重大隐患:假如给用户加了这个锁,但是没有释放,就会导致其他线程一直不能更新此用户数据。
完整源码包较大,如果敢兴趣,请加入扣群114784849,在群共享中下载qxzb.zip。