业务代理模式()
Value Object模式是将远程调用的传递数据封装在一个串行化的对象中进行传输而业务代理模式则是将一组由远程方法调用构成的业务流程封装在一个位于展示层的代理类中比如如果用户需要修改一个订单订单修改操作可细分为个子操作
校验用户
获取旧的订单信息
更新订单
系统结构如图所示
图 展示层与业务逻辑层交互示例
以上结构存在两个问题
()当展示层存在大量并发线程时这些线程都会直接进行远程方法调用进而会加重网络负担
()由于缺乏对订单修改操作流程的有效封装如果将来修改流程发生变化那么展示层组件需要修改
为了有效地解决以上两个问题可以在展示层中加入业务代理对象业务代理对象负责和远程服务器通信完成订单修改操作而业务代理对象本身只暴露简单的updateOrder()订单修改操作供展示层组件使用修改后的结构如图所示
图 业务代理模式架构图
注意业务代理模式将一些业务流程封装在前台系统为系统性能优化提供了基础平台在业务代理中不仅可以复用业务流程还可以视情况为展示层组件提供缓存等功能从而减少远程方法调用次数降低系统压力
[] []