鄒珺



摘? 要:早期的賬單管理大部分都是人工操作,其缺點是耗費大量的人力和時間。為了讓用戶高效、便捷地管理賬單,賬單管理程序能實現簡單的個人消費管理,它能夠記錄和統計個人每月的花銷,提供良好的歷史信息查詢功能。本文主要描述使用WPF技術實現賬單管理程序,通過典型的三層架構模式進行開發,為每一個層創建一個類庫,為用戶界面層創建一個WPF項目,具體由邏輯分層實現程序的功能,使用接口來實現層與層之間的解耦,針對賬單管理可以達到良好的效果。
關鍵詞:賬單管理程序;架構;WPF
中圖分類號:TP312? ? ?文獻標識碼: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)
隨著計算機技術的不斷發展,傳統的賬單管理出現了很多弊端,特別是人工操作,會帶來很多誤差,甚至很嚴重的問題。為了避免上述問題,開發了賬單管理程序,該程序能提供的功能包括:(1)顯示每月的費用記錄;(2)存檔支出記錄;(3)顯示最近的消費底線;(4)花費統計圖表;(5)特定時間段內的花費統計圖表;(6)顯示關于每張賬單的信息;(7)可以將賬單存檔記錄導出到文件進行備份;(8)可以在多語言間進行切換,實現多語言功能。
本程序使用WPF實現其具體功能,通過軟件分層架構模式,解決因軟件復雜度的增加而帶來的開發和維護問題,將解決方案的組件分隔到不同的層中,自底向上分別是用于訪問數據的數據訪問層、用于處理業務邏輯的中間業務邏輯層、用于呈現用戶界面的表示層,重點是結合分層架構中的邏輯分層來實現[1]。
2 賬單管理程序概述(Overview of the bill management program)
賬單管理程序使用三層架構進行開發,開發過程中,每一層會創建一個對應的類庫項目,其功能模塊分別為賬單、圖表、存檔和雜項。使用TabControl控件來分頁顯示賬單信息,賬單頁面用一個DataGrid控件顯示過去31天的賬單記錄。用戶在底部的文本框中輸入賬單記錄,單擊“添加”按鈕,輸入的賬單信息將添加到DataGrid控件中。單擊下一頁按鈕,將會切換到圖表頁面,該頁面使用圖表的形式顯示賬單統計信息,賬單管理器主界面如圖1所示,賬單圖表頁面如圖2所示。
3? 分層結構的實現(Implementation of hierarchical structure)
3.1? ?實現數據訪問層
數據訪問層提供了一種彈性的與數據庫無關的架構,所以可以使用接口來定義數據訪問契約。不同類型的數據庫通過實現這個接口,來提供特定數據庫類型的功能,而業務邏輯層通過調用這個接口來獲取數據,不用知道特定數據庫細節信息[3]。數據庫訪問架構如圖5所示。
3.2? ?實現業務邏輯層
業務邏輯層實現在BillsBusinessLogicLib項目中,該層實現了與數據訪問層相同的架構。將業務邏輯層中將要實現的功能抽象為一個接口,調用方只與接口進行交互,不用關心具體的業務邏輯實現[4]。業務邏輯層與數據訪問層緊密聯系,同時提供給表示層顯示的數據,在業務邏輯層中定義了一個接口和一個實現接口的類,以及一個自定義異常類,如圖6所示。
賬單管理業務邏輯接口定義了賬單管理系統中將要出現的功能邏輯方法或屬性,軟件分層的目的在于實現層次分明,層與層之間不能過度耦合,通過定義接口,讓調用方只與接口交互,不用關心特定的實現細節[5]。這樣的設計方式也便于維護和擴展,例如軟件運行一段時間,現有的業務邏輯不能滿足業務處理的需求,那么可以通過定義一個新類,實現業務邏輯接口,讓調用端無縫的調用新的業務邏輯層,實現層與層之間的解耦。
3.3? ?實現表示層