基于請求應(yīng)答及會話控制的系統(tǒng)集成設(shè)計模式
這個模式是我在多個系統(tǒng)的設(shè)計實踐中總結(jié)出來的系統(tǒng)設(shè)計模式,屬于EIP(Enterprise Integration Pattern的范疇吧!)
首先舉個例子:在支付系統(tǒng)的設(shè)計中怎么使用這個設(shè)計模式
請求:用戶或持卡人發(fā)起一個訂單支付,系統(tǒng)接收到一個支付請求對象,然后系統(tǒng)就可以有一個支付請求處理的模塊,有一個支付請求接收的多個渠道模塊,請求的日志記錄模塊等
會話控制:系統(tǒng)在處理萬支付請求后,創(chuàng)建一個會話控制對象,用于控制用戶在支付過程中的業(yè)務(wù)邏輯處理及狀態(tài)跟蹤,這個會話控制對象將根據(jù)各參與者的配置參數(shù)進(jìn)行初始化,根據(jù)用戶的行為設(shè)置并控制會話對象
響應(yīng):用戶在會話控制對象的協(xié)助下,完成了支付,系統(tǒng)返回一個支付響應(yīng)對象,通過響應(yīng)對象來通知各參與者支付結(jié)果
在這個設(shè)計模式中,包含三個重要的對象:XXXRequest,XXXSession,XXXResponse.此處的XXX可根據(jù)系統(tǒng)業(yè)務(wù)的定義更改為對應(yīng)的縮寫.例如對于設(shè)置一個會員注冊系統(tǒng),則是MemberRegisterRequest、MemberRegisterSession、MemberRegisterResponse三個類。然后系統(tǒng)基于這三個對象設(shè)計各模塊,通常至少包含三個模塊:請求處理模塊、會話業(yè)務(wù)處理模塊以及響應(yīng)處理模塊.在這個基礎(chǔ)上,再根據(jù)系統(tǒng)業(yè)務(wù)的復(fù)雜度來進(jìn)一步細(xì)分模塊.例如注冊請求處理模塊,可能根據(jù)注冊請求的提交方式而進(jìn)一步分為個人會員注冊請求提交模塊、企業(yè)會員注冊請求提交模塊、批量會員注冊請求提交模塊、WAP會員注冊請求提交模塊等等.
這樣的系統(tǒng)設(shè)計模式有什么好處呢?首先,模塊的職責(zé)變的更清楚;第二,系統(tǒng)的設(shè)計更加規(guī)范化;第三,更加有利于系統(tǒng)的擴(kuò)展
。。。