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①
保康接地氣的“土銀行”
“存夢銀行”破產記
主站蜘蛛池模板: 久久精品只有这里有| 91成人免费观看在线观看| 欧美精品不卡| 欧美福利在线| 91在线无码精品秘九色APP| 国产成人h在线观看网站站| 97一区二区在线播放| 亚洲精品国产综合99| 国产精品一区二区不卡的视频| 在线播放91| 国产aⅴ无码专区亚洲av综合网| 国产自视频| 国产传媒一区二区三区四区五区| 国产亚洲精久久久久久无码AV| 在线视频精品一区| 久热精品免费| 热99精品视频| 欧美翘臀一区二区三区| 免费无码AV片在线观看中文| 亚洲Aⅴ无码专区在线观看q| 国产极品美女在线播放| 99久久精品久久久久久婷婷| 国产天天射| 成年免费在线观看| 超碰91免费人妻| 国产日本欧美亚洲精品视| 久久久久国产精品熟女影院| 国内精品久久久久久久久久影视| 香蕉综合在线视频91| 少妇精品久久久一区二区三区| 欧美另类图片视频无弹跳第一页| 欧美日韩国产在线人| 日韩小视频在线播放| 国产乱人乱偷精品视频a人人澡| 午夜色综合| 亚洲男人的天堂在线观看| 日韩人妻精品一区| 成人a免费α片在线视频网站| 在线国产毛片| 一级爱做片免费观看久久| 久久不卡精品| 亚洲欧美极品| 日本欧美视频在线观看| 另类欧美日韩| 国产成人免费高清AⅤ| 国产欧美日韩视频怡春院| 热久久这里是精品6免费观看| 成人一区在线| 国产精品三区四区| 露脸真实国语乱在线观看| 久久综合伊人 六十路| 老司机aⅴ在线精品导航| 亚洲综合亚洲国产尤物| 国产欧美中文字幕| 青青草原国产免费av观看| 日韩国产无码一区| 免费黄色国产视频| www.精品国产| 在线一级毛片| 午夜性爽视频男人的天堂| 国产欧美网站| 免费又爽又刺激高潮网址 | 四虎成人免费毛片| 欧美啪啪一区| 欧美日韩一区二区在线播放| 四虎永久免费网站| 亚洲欧洲日本在线| 久久婷婷综合色一区二区| 高清不卡毛片| 国产成人高清精品免费| 亚洲一级毛片免费看| 男人天堂亚洲天堂| 亚洲一级毛片免费看| 国产一级裸网站| 亚洲免费福利视频| 国产AV毛片| 日韩精品一区二区三区中文无码| 亚洲国产成人精品青青草原| 亚洲va视频| 欧美在线伊人| 天天色综网| 欧美亚洲一区二区三区导航|