999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于策略模式和Spring框架的銀行代繳費系統的研究

2017-10-18 07:03:40周志明
現代計算機 2017年25期
關鍵詞:銀行策略系統

周志明

(廣西大學計算機與電子信息學院,南寧 530004)

基于策略模式和Spring框架的銀行代繳費系統的研究

周志明

(廣西大學計算機與電子信息學院,南寧 530004)

代繳費業務作為銀行重要的中間代理業務,合作單位多,影響范圍廣,推廣實效要求高,對相關信息系統的架構設計和開發實現提出很高的要求,如何能在短時間內完成系統的敏捷開發,實現相關功能,短平快地支撐業務的發展和推廣,是銀行目前最為迫切的需求。著重介紹策略模式和Spring框架的結合在銀行代繳費應用上的實現,通過剖析策略模式原理和具體在代繳費業務場景中的實際運用,重點研究通過策略模式和Spring框架,如何升華面向接口的方法和技巧,從而構建高效、簡單、高內聚、松耦合的銀行代繳費業務應用系統。

策略模式;Spring框架

0 引言

銀行代繳費業務,指銀行代理第三方合作單位開展的如水、電、煤、話費等領域的代理繳費業務。過去傳統的實現方式,是針對每一個代繳費業務,實現一套系統,隨著業務開展的增多,開發人員工作量、系統資源的占用量、運維人員的維護量也隨之增加,同時業務無法在短時間內實現快速上線推廣。這就要求銀行需要優化系統的架構設計,通過設計模式的運用和相關技術的創新,使得各項代繳業務功能能夠進行整合,讓業務流程組件化,使各組件復用程度更高,系統資源占用更小,開發推廣時間更短,運維更加簡便。因此通過策略模式結合Spring框架的運用,可以實現系統架構優化,業務流程組件化,通過業務流程模版組裝,針對處理邏輯相同的流程節點,可復用已有組件,針對特殊流程節點,通過策略模式進行路由,以實現業務邏輯處理中,組件的高復用性和高拓展性,從而達到構建高效、簡單、高內聚、松耦合的銀行代繳費業務應用系統的目的。

1 策略模式

策略模式,即將一系列算法進行封裝,通過向上層暴露的接口,進行特定算法實現的訪問。算法的選擇和指向是根據特定策略完成,從而能夠實現基于不同的策略,可通過統一的訪問方式,獲取不同的算法的實現[1]。

策略模式設計如圖1所示,具體為:定義一個Strategy的接口,用以規范算法實現的調用入口。具體的策略算法類需實現Strategy接口,如OperationAdd是Strategy的一個具體實現類,包含了接口約定方法doOperation的具體實現。主程序StrategyPatternDemo,擁有Strategy句柄,通過context調用具體的算法實現。

圖1 策略模式設計圖

2 Spring框架

Spring框架是為了降低軟件開發的復雜性而創建的。其最核心的部分即提供了依賴注入(Dependency Injection)特征來實現容器對系統所依賴的組件實例進行統一的管理。通過控制反轉和依賴注入實現主動向接口句柄輸送具體的實現類。為了能更方便地獲取具體的策略實現,使用了Spring框架對具體的策略實現實例進行統一地管理[5]。

3 架構設計

以銀行代理繳費業務系統,繳費記賬功能為例進行系統架構設計。繳費記賬流程如圖2所示:

可見,在一個繳費記賬的功能流程中,大多數的流程節點均可以被復用,只有前置處理以及與第三方合作單位進行交互時,需要執行特殊業務邏輯,因此可以在執行特殊業務邏輯時,加入策略模式的應用,而其他流程則可復用公共組件,以此降低開發運維成本、系統資源。未來新增業務時,便可拓展策略的實現,即可實現業務的快速推廣上線。

4 應用實現

為了能夠在可拓展的業務流程節點中,加入策略模式,為此,需要完成如下幾點:

(1)確定策略決定的關鍵要素,即具體特殊算法的尋找和定位的依據。在代繳費業務記賬功能中,我們以代繳費業務的業務類型編號作為決定策略的關鍵要素。例如:電費代繳的業務類型編號為:DFDJ,水費代繳的業務類型編號為SFDJ等。

(2)定義具體策略實現的訪問接口,以規范訪問的入口。例如:為與合作第三方單位交互定義一個策略訪問接口,代碼如下:

/**

*與第三方合作單位交互策略訪問入口

*@author zhouzhiming

*

*/

public interface CommunicateWithThdService{

/**

*向第三方單位發送信息

*@param reqMap

*@return

*/

publicMap msgToThd(MapreqMap);}

(3)策略的實現,在CommunicateWithThdServie接口的實現類中,實現與第三方通訊的業務邏輯,例如電費代繳和水費代繳分別對應了兩個策略實現類,如下:/**

*電費代繳與第三方單位系統交互實現類

*@author zhouzhiming

*/

public class CommunicateWithThdServiceImplDFDJ implements CommunicateWithThdService{

@Override

public MapmsgToThd(MapreqMap){

System.out.println("與供電局系統進行交互");

return null;

}

}

/**

*水費代繳與第三方單位系統交互實現類

*@author zhouzhiming

*/

public class CommunicateWithThdServiceImplSFDJ implements CommunicateWithThdService{

@Override

public MapmsgToThd(MapreqMap){

System.out.println("與水務公司系統進行交互");

return null;

}

}

并在Spring框架下的bean定義中,配置這兩個策略的實例,如下:

(4)定義實例工廠。為了更方便地在策略處理節點中,獲取具體的策略實現實例,因此需定義實例工廠BeanFactory,并在Spring的bean配置文件中定義,如下:

/**

*實例工廠

*@author zhouzhiming

*@since 1.0.0

*/

public class BeanFactory implements ApplicationContextAware{

private static ApplicationContext applicationContext;

public void setApplicationContext(ApplicationContext con?text){

applicationContext=context;

}

public static Object get(Class beanType){

return applicationContext.getBean(beanType);

}

public static Object get(String beanName){

return applicationContext.getBean(beanName);

}

}

(5)策略節點中,基于約定優于配置的原則,根據約定好的策略規則,根據約定的業務類型(busType)尋找實現類,進行相應的業務邏輯處理,即可實現不同的繳費業務,分別與對應的合作單位進行交互通訊,實現如下:

/**

*與第三方交互節點選取策略

*@param context

*@throws CoreException

*@throws CoreRuntimeException

*/

public void execute(Context context)throws CoreException,Core?RuntimeException{

String busType=context.getData("busType");

String procBeanName="communicateWithThdServiceIm?pl"+busType;

String inputJsonStr=context.getData("input");

MapreqMap=null;

if(!StringUtils.isEmpty(inputJsonStr)){

reqMap = JsonUtils.objectFromJson(inputJsonStr,Map.class);

if(!CollectionUtils.isEmpty(reqMap)){

context.setDataMap(reqMap);

}

}

CommunicateWithThdService communicateWithThdSer?vice =(CommunicateWithThdService) BeanFactory.get(proc?BeanName);

MaprspMap=communicateWithThdSer?vice.msgToThd(reqMap);

if(!CollectionUtils.isEmpty(rspMap)){

String outputJsonStr=new String(JsonUtils.json?FromObject(rspMap,"UTF8"));

context.setData("output",outputJsonStr);

}

}

5 結語

通過策略模式和Spring框架的結合,基于約定優于配置的原則,構建高效、簡單、高內聚、松耦合的銀行代繳費業務應用系統,增強了系統組件的復用性和拓展性,統一了業務實現模式,降低了開發運維工作量,減小系統資源的占用,使產品得以實現敏捷開發,快速推廣。

[1]秦小波.設計模式之禪[M].機械工業出版社,2014.

[2]Eckel B.Thinking in Java,4th Edition[M].2005,117(667):212.

[3]ErichGamma,加馬,李英軍.設計模式:可復用面向對象軟件的基礎[M].2000.

[4]Cornell,Gary.Java核心技術[M].人民郵電出版社,2008.

[5]約翰遜.Spring框架高級編程[M].機械工業出版社,2006.

Abstract:Payment service as an important intermediate business of bank,with a wide range of cooperative units,big effectiveness and high require?ment of promotion,requests high demands for the relevant architecture design and development of information system.How to complete the agile development of system in a short period of time,implement relevant functions and support the development and promotion of the business,is currently the most urgent needs of bank.Focuses on the combination of strategy pattern and Spring framework in the bank payment system,and the research by strategy pattern and Spring framework by analyzing the principle and application of strategy pattern in payment business scenarios.Finds how to promote the methods and skills of interface oriented,to build efficient,simple,high cohesion and loose coupling of the bank payment application system.

Keywords:Strategy Patterns;Spring Framework

Research on the Banking Payment System Based on Strategy Patterns and Spring Framework

ZHOU Zhi-ming
(School of Computer and Electronic Information,Guangxi University,Nanning 530004)

1007-1423(2017)25-0073-04

10.3969/j.issn.1007-1423.2017.25.018

周志明(1989-),男,湖南祁東人,本科,中級,研究方向為計算機技術

2017-06-15

2017-08-30

猜你喜歡
銀行策略系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
例談未知角三角函數值的求解策略
我說你做講策略
高中數學復習的具體策略
數學大世界(2018年1期)2018-04-12 05:39:14
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
10Gb/s transmit equalizer using duobinary signaling over FR4 backplane①
保康接地氣的“土銀行”
“存夢銀行”破產記
主站蜘蛛池模板: 亚洲全网成人资源在线观看| 永久免费av网站可以直接看的 | 精品五夜婷香蕉国产线看观看| 亚洲福利视频一区二区| 美女毛片在线| 97成人在线视频| 久久 午夜福利 张柏芝| 国产精品第一区| 亚洲精品天堂自在久久77| 午夜福利网址| 中文字幕资源站| 亚洲国产成人综合精品2020| 99视频免费观看| 日日拍夜夜操| 伊人久久久大香线蕉综合直播| 国产福利免费在线观看| 91视频日本| 在线看片国产| 无码国产伊人| 2020国产在线视精品在| 在线日本国产成人免费的| 国产毛片片精品天天看视频| 国产手机在线小视频免费观看| 国产sm重味一区二区三区| 区国产精品搜索视频| 国产欧美视频综合二区| 亚洲欧洲日韩久久狠狠爱 | 日本不卡在线视频| 99这里只有精品6| 国产亚洲欧美另类一区二区| 五月婷婷丁香综合| 无码精品福利一区二区三区| 国产精品女主播| 国产污视频在线观看| 欧美日韩国产系列在线观看| 婷婷久久综合九色综合88| 日日碰狠狠添天天爽| 2022国产无码在线| 最新国产午夜精品视频成人| 国产一级妓女av网站| 精品91视频| 国产一级α片| 一本无码在线观看| 婷婷开心中文字幕| 亚洲精品福利视频| 国产91精品调教在线播放| 色噜噜在线观看| 欧美在线观看不卡| 自拍亚洲欧美精品| 精品国产免费观看| 美女一区二区在线观看| 99久久精品免费观看国产| 免费国产小视频在线观看| 在线欧美一区| 日本在线欧美在线| 国产三级成人| 草逼视频国产| 国产无码精品在线| 亚洲中文字幕在线观看| 日韩国产欧美精品在线| 亚洲第一精品福利| 极品国产在线| 国产手机在线观看| 国产成人无码AV在线播放动漫| 99在线国产| 99久久精彩视频| 国内精品久久人妻无码大片高| 亚洲日韩高清在线亚洲专区| 视频一本大道香蕉久在线播放| 91av成人日本不卡三区| 亚洲天天更新| 中文字幕在线视频免费| 在线播放国产99re| 色综合五月婷婷| 色综合久久88色综合天天提莫 | 好紧太爽了视频免费无码| 欧美视频在线播放观看免费福利资源| 69精品在线观看| 亚洲国产成人在线| 中文字幕在线观看日本| 亚洲av中文无码乱人伦在线r| 国产高清在线观看|