国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于WPF的賬單管理程序的設(shè)計(jì)與實(shí)現(xiàn)

2019-09-04 10:00鄒珺
軟件工程 2019年8期
關(guān)鍵詞:架構(gòu)

鄒珺

摘? 要:早期的賬單管理大部分都是人工操作,其缺點(diǎn)是耗費(fèi)大量的人力和時(shí)間。為了讓用戶高效、便捷地管理賬單,賬單管理程序能實(shí)現(xiàn)簡單的個(gè)人消費(fèi)管理,它能夠記錄和統(tǒng)計(jì)個(gè)人每月的花銷,提供良好的歷史信息查詢功能。本文主要描述使用WPF技術(shù)實(shí)現(xiàn)賬單管理程序,通過典型的三層架構(gòu)模式進(jìn)行開發(fā),為每一個(gè)層創(chuàng)建一個(gè)類庫,為用戶界面層創(chuàng)建一個(gè)WPF項(xiàng)目,具體由邏輯分層實(shí)現(xiàn)程序的功能,使用接口來實(shí)現(xiàn)層與層之間的解耦,針對賬單管理可以達(dá)到良好的效果。

關(guān)鍵詞:賬單管理程序;架構(gòu);WPF

中圖分類號:TP312? ? ?文獻(xiàn)標(biāo)識碼:A

Abstract:Most bill management used to be manually conducted with the shortcoming of consuming a lot of manpower and time.In order to enable users to manage bills efficiently and conveniently,the bill management program can realize simple personal consumption management.It can record and count individual monthly expenses and provide good historical information query function.This paper mainly describes how to use WPF technology to implement bill management program through the typical three-tier architecture model to develop,creating a class library for each tier and a WPF project for the user interface layer,specifically realizing the function of the program by logical hierarchy,using interface to achieve decoupling between tiers,which brings good results for bill management.

Keywords:bill management program;framework;WPF

1? ?引言(Introduction)

隨著計(jì)算機(jī)技術(shù)的不斷發(fā)展,傳統(tǒng)的賬單管理出現(xiàn)了很多弊端,特別是人工操作,會帶來很多誤差,甚至很嚴(yán)重的問題。為了避免上述問題,開發(fā)了賬單管理程序,該程序能提供的功能包括:(1)顯示每月的費(fèi)用記錄;(2)存檔支出記錄;(3)顯示最近的消費(fèi)底線;(4)花費(fèi)統(tǒng)計(jì)圖表;(5)特定時(shí)間段內(nèi)的花費(fèi)統(tǒng)計(jì)圖表;(6)顯示關(guān)于每張賬單的信息;(7)可以將賬單存檔記錄導(dǎo)出到文件進(jìn)行備份;(8)可以在多語言間進(jìn)行切換,實(shí)現(xiàn)多語言功能。

本程序使用WPF實(shí)現(xiàn)其具體功能,通過軟件分層架構(gòu)模式,解決因軟件復(fù)雜度的增加而帶來的開發(fā)和維護(hù)問題,將解決方案的組件分隔到不同的層中,自底向上分別是用于訪問數(shù)據(jù)的數(shù)據(jù)訪問層、用于處理業(yè)務(wù)邏輯的中間業(yè)務(wù)邏輯層、用于呈現(xiàn)用戶界面的表示層,重點(diǎn)是結(jié)合分層架構(gòu)中的邏輯分層來實(shí)現(xiàn)[1]。

2 賬單管理程序概述(Overview of the bill management program)

賬單管理程序使用三層架構(gòu)進(jìn)行開發(fā),開發(fā)過程中,每一層會創(chuàng)建一個(gè)對應(yīng)的類庫項(xiàng)目,其功能模塊分別為賬單、圖表、存檔和雜項(xiàng)。使用TabControl控件來分頁顯示賬單信息,賬單頁面用一個(gè)DataGrid控件顯示過去31天的賬單記錄。用戶在底部的文本框中輸入賬單記錄,單擊“添加”按鈕,輸入的賬單信息將添加到DataGrid控件中。單擊下一頁按鈕,將會切換到圖表頁面,該頁面使用圖表的形式顯示賬單統(tǒng)計(jì)信息,賬單管理器主界面如圖1所示,賬單圖表頁面如圖2所示。

3? 分層結(jié)構(gòu)的實(shí)現(xiàn)(Implementation of hierarchical structure)

3.1? ?實(shí)現(xiàn)數(shù)據(jù)訪問層

數(shù)據(jù)訪問層提供了一種彈性的與數(shù)據(jù)庫無關(guān)的架構(gòu),所以可以使用接口來定義數(shù)據(jù)訪問契約。不同類型的數(shù)據(jù)庫通過實(shí)現(xiàn)這個(gè)接口,來提供特定數(shù)據(jù)庫類型的功能,而業(yè)務(wù)邏輯層通過調(diào)用這個(gè)接口來獲取數(shù)據(jù),不用知道特定數(shù)據(jù)庫細(xì)節(jié)信息[3]。數(shù)據(jù)庫訪問架構(gòu)如圖5所示。

3.2? ?實(shí)現(xiàn)業(yè)務(wù)邏輯層

業(yè)務(wù)邏輯層實(shí)現(xiàn)在BillsBusinessLogicLib項(xiàng)目中,該層實(shí)現(xiàn)了與數(shù)據(jù)訪問層相同的架構(gòu)。將業(yè)務(wù)邏輯層中將要實(shí)現(xiàn)的功能抽象為一個(gè)接口,調(diào)用方只與接口進(jìn)行交互,不用關(guān)心具體的業(yè)務(wù)邏輯實(shí)現(xiàn)[4]。業(yè)務(wù)邏輯層與數(shù)據(jù)訪問層緊密聯(lián)系,同時(shí)提供給表示層顯示的數(shù)據(jù),在業(yè)務(wù)邏輯層中定義了一個(gè)接口和一個(gè)實(shí)現(xiàn)接口的類,以及一個(gè)自定義異常類,如圖6所示。

賬單管理業(yè)務(wù)邏輯接口定義了賬單管理系統(tǒng)中將要出現(xiàn)的功能邏輯方法或?qū)傩?,軟件分層的目的在于?shí)現(xiàn)層次分明,層與層之間不能過度耦合,通過定義接口,讓調(diào)用方只與接口交互,不用關(guān)心特定的實(shí)現(xiàn)細(xì)節(jié)[5]。這樣的設(shè)計(jì)方式也便于維護(hù)和擴(kuò)展,例如軟件運(yùn)行一段時(shí)間,現(xiàn)有的業(yè)務(wù)邏輯不能滿足業(yè)務(wù)處理的需求,那么可以通過定義一個(gè)新類,實(shí)現(xiàn)業(yè)務(wù)邏輯接口,讓調(diào)用端無縫的調(diào)用新的業(yè)務(wù)邏輯層,實(shí)現(xiàn)層與層之間的解耦。

3.3? ?實(shí)現(xiàn)表示層

猜你喜歡
架構(gòu)
基于FPGA的RNN硬件加速架構(gòu)
功能架構(gòu)在電子電氣架構(gòu)開發(fā)中的應(yīng)用和實(shí)踐
基于云服務(wù)的圖書館IT架構(gòu)
WebGIS架構(gòu)下的地理信息系統(tǒng)構(gòu)建研究
LSN DCI EVPN VxLAN組網(wǎng)架構(gòu)研究及實(shí)現(xiàn)
架構(gòu)——李延洲寫生作品展
基于SDN與NFV的網(wǎng)絡(luò)切片架構(gòu)
一種基于FPGA+ARM架構(gòu)的μPMU實(shí)現(xiàn)
具身學(xué)習(xí)環(huán)境SMALLab的架構(gòu)分析及啟示
基于在線雙冗余CANopen架構(gòu)的管軌列控系統(tǒng)
新河县| 麻阳| 五寨县| 曲沃县| 科尔| 郴州市| 滁州市| 都安| 资溪县| 札达县| 沽源县| 武平县| 望城县| 稻城县| 连平县| 什邡市| 德钦县| 达州市| 临高县| 大渡口区| 宜川县| 扎囊县| 云南省| 镇平县| 永吉县| 航空| 雷山县| 东乡县| 库伦旗| 道孚县| 兰考县| 酒泉市| 兰坪| 上犹县| 习水县| 玛纳斯县| 平度市| 东乡族自治县| 宣城市| 文登市| 玉环县|