基于请求应答及会话控制的系统集成设计模式
这个模式是我在多个系统的设计实践中总结出来的系统设计模式,属于EIP(Enterprise Integration Pattern的范畴吧!)
首先举个例子:在支付系统的设计中怎么使用这个设计模式
请求:用户或持卡人发起一个订单支付,系统接收到一个支付请求对象,然后系统就可以有一个支付请求处理的模块,有一个支付请求接收的多个渠道模块,请求的日志记录模块等
会话控制:系统在处理万支付请求后,创建一个会话控制对象,用于控制用户在支付过程中的业务逻辑处理及状态跟踪,这个会话控制对象将根据各参与者的配置参数进行初始化,根据用户的行为设置并控制会话对象
响应:用户在会话控制对象的协助下,完成了支付,系统返回一个支付响应对象,通过响应对象来通知各参与者支付结果
在这个设计模式中,包含三个重要的对象:XXXRequest,XXXSession,XXXResponse.此处的XXX可根据系统业务的定义更改为对应的缩写.例如对于设置一个会员注册系统,则是MemberRegisterRequest、MemberRegisterSession、MemberRegisterResponse三个类。然后系统基于这三个对象设计各模块,通常至少包含三个模块:请求处理模块、会话业务处理模块以及响应处理模块.在这个基础上,再根据系统业务的复杂度来进一步细分模块.例如注册请求处理模块,可能根据注册请求的提交方式而进一步分为个人会员注册请求提交模块、企业会员注册请求提交模块、批量会员注册请求提交模块、WAP会员注册请求提交模块等等.
这样的系统设计模式有什么好处呢?首先,模块的职责变的更清楚;第二,系统的设计更加规范化;第三,更加有利于系统的扩展
。。。