應(yīng)用程序設(shè)計(jì)模式_第1頁
應(yīng)用程序設(shè)計(jì)模式_第2頁
應(yīng)用程序設(shè)計(jì)模式_第3頁
應(yīng)用程序設(shè)計(jì)模式_第4頁
應(yīng)用程序設(shè)計(jì)模式_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

應(yīng)用程序設(shè)計(jì)模式XXX:XXXXXX:XXX中國人民大學(xué)應(yīng)用程序設(shè)計(jì)模式目錄摘要應(yīng)用主要功能的使用圖和使用規(guī)范應(yīng)用程序設(shè)計(jì)/實(shí)現(xiàn)信息3應(yīng)用程序設(shè)計(jì)模式四個(gè)部分:1.摘要2.應(yīng)用程序主要功能的使用圖和使用規(guī)范3.應(yīng)用程序設(shè)計(jì)/實(shí)現(xiàn)信息4.HolubSQL功能擴(kuò)展和設(shè)計(jì)改進(jìn)本次演示分為四個(gè)部分:1.摘要2.應(yīng)用程序主要功能的使用圖和使用規(guī)范3.應(yīng)用程序設(shè)計(jì)/實(shí)現(xiàn)信息4.HolubSQL功能擴(kuò)展和設(shè)計(jì)改進(jìn)摘要應(yīng)用程序設(shè)計(jì)模式4XMLImporter類負(fù)責(zé)從XML文件導(dǎo)入數(shù)據(jù),XMLExporter類負(fù)責(zé)將數(shù)據(jù)從CSV文件導(dǎo)出到XML文件。HTMLExporter類負(fù)責(zé)將數(shù)據(jù)從CSV文件導(dǎo)出到HTML文件通過功能擴(kuò)展和設(shè)計(jì)改進(jìn),該項(xiàng)目提高了HolubSQL處理多種數(shù)據(jù)格式的能力,并提升了代碼清晰度和模塊化程度項(xiàng)目基于HolubSQL構(gòu)建,添加和擴(kuò)展了XML導(dǎo)入、XML導(dǎo)出和HTML導(dǎo)出等功能本項(xiàng)目的設(shè)計(jì)使用了Iteratot模式和Factory模式。迭代器模式提高了代碼的清晰度和可理解性,使其更易于維護(hù),而工廠模式則隱藏了復(fù)雜的對象創(chuàng)建邏輯,使您的代碼更加模塊化13425應(yīng)用程序設(shè)計(jì)模式應(yīng)用主要功能的使用圖和使用規(guī)范我們通過三個(gè)例子來介紹:用例1:XML導(dǎo)入,用例2:XML導(dǎo)出,用例3:HTML導(dǎo)出6應(yīng)用程序設(shè)計(jì)模式用例1:XML導(dǎo)入,XML導(dǎo)入的前提是用戶有有效的XML文件路徑,基本流程是1.用戶提供XML文件的路徑。2.系統(tǒng)解析XML文件并創(chuàng)建一個(gè)XML文件。表,加載名稱、列名和行數(shù)據(jù).3.測試表名、列寬、列名和行數(shù)據(jù)是否按預(yù)期加載.回退流程是當(dāng)XML文件路徑無效或文件內(nèi)容不同時(shí)引發(fā)相應(yīng)異常的后置條件可確保獲取的數(shù)據(jù)與預(yù)期相符第2章:用例2:XML導(dǎo)出XML導(dǎo)出的前提是用戶擁有有效的CSV文件路徑和期望的XML文件輸出路徑,基本流程為1.用戶擁有有效的CSV文件路徑和期望的XML文件輸出路徑XML文件輸出路徑2.系統(tǒng)讀取CSV文件并創(chuàng)建XML表,開始、存儲(chǔ)元數(shù)據(jù)和行數(shù)據(jù),最后結(jié)束表3、測試生成的XML文件內(nèi)容是否符合預(yù)期。flowisCSVfilepath當(dāng)無效或文件內(nèi)容與預(yù)期不同時(shí)會(huì)引發(fā)相應(yīng)的異常。后置條件確保生成的XML文件的內(nèi)容與預(yù)期匹配第3章:用例3:HTML導(dǎo)出,HTML導(dǎo)出的前提是用戶有有效的CSV文件路徑和預(yù)期的HTML文件輸出路徑,基本流程為7應(yīng)用程序設(shè)計(jì)模式1.用戶提供CSV文件的路徑和HTML文件的輸出路徑。2.系統(tǒng)讀取CSV文件并創(chuàng)建HTML表,開始、保存元數(shù)據(jù)和行數(shù)據(jù),最后結(jié)束表。3.編輯生成的HTML文件,測試內(nèi)容是否是你所期望的當(dāng)CSV文件路徑無效或文件內(nèi)容與您期望的不同時(shí),后備流程會(huì)引發(fā)相應(yīng)的異常。后置條件確保生成的HTML文件的內(nèi)容與您的期望相符。此用例規(guī)范提供了基本指南您的代碼。提供測試場景(圖):我們的程序包括這些類:類,第三行是他們由所有者進(jìn)入法律)應(yīng)用程序設(shè)計(jì)/實(shí)現(xiàn)信息應(yīng)用程序設(shè)計(jì)模式XMLImporter,該類實(shí)現(xiàn)了Table.Importer接口,主要用于從XML文件導(dǎo)入數(shù)據(jù)。此類使用DOM解析器來解析XML文件。DOM解析器將整個(gè)XML文檔加載到內(nèi)存中,構(gòu)造DOM樹,并可以通過遍歷DOM樹來使用XML文檔進(jìn)行各種操作,該類的主要功能包括讀取表名、讀取列名、讀取行數(shù)據(jù)等XMLExporter,該類用于將CSV文件中的數(shù)據(jù)導(dǎo)出到XML文件。此類使用PrintWriter寫入XML文件。主要功能包括起始表、保存元數(shù)據(jù)、保存行數(shù)據(jù)和結(jié)束表應(yīng)用程序設(shè)計(jì)模式1234HTMLExporter,該類用于將數(shù)據(jù)從CSV文件導(dǎo)出到HTML文件。此類還使用PrintWriter寫入HTML文件。主要功能包括起始表、保存元數(shù)據(jù)、保存行數(shù)據(jù)和結(jié)束表。這三個(gè)類組成了測試用例我們還使用了工廠模式,XMLImporter使用DocumentBuilderFactory來創(chuàng)建DocumentBuilder對象,這是工廠模式的典型應(yīng)用該應(yīng)用程序使用了迭代器設(shè)計(jì)模式。此模式用于訪問和檢查聚合對象的元素。XMLImporter和HTMLExporter使用迭代器模式分別迭代從XML文件讀取的行數(shù)據(jù)和列名稱HolubSQL功能擴(kuò)展和設(shè)計(jì)改進(jìn)應(yīng)用程序設(shè)計(jì)模式1HolubSQL功能擴(kuò)展和設(shè)計(jì)改進(jìn)2擴(kuò)展功能基于HolubSQL,添加了從XML文件導(dǎo)入數(shù)據(jù)以及將數(shù)據(jù)導(dǎo)出到XML或HTML文件的功能3在設(shè)計(jì)方面,我們引入了迭代器模式和工廠模式。工廠模式通過解決創(chuàng)建復(fù)雜對象的問題而不暴露復(fù)雜的對象創(chuàng)建邏輯,使您的代碼更加模塊化4與現(xiàn)有設(shè)計(jì)相比,我們添加了三個(gè)類:XMLImporter、XMLExporter和HTMLExporter。這些類實(shí)現(xiàn)了HolubSQL的Exporter或Importer接口,允許它們處理各種數(shù)據(jù)輸入和輸出格式。最初的設(shè)計(jì)主要是為了處理CSV文件,但我們的改進(jìn)使該程序能夠處理更廣泛的數(shù)據(jù)格式5引入我們的設(shè)計(jì)模式的原因是,在讀取XML文件和導(dǎo)出數(shù)據(jù)的過程中,我們發(fā)現(xiàn)需要處理和迭代的數(shù)據(jù)元素在結(jié)構(gòu)上非常相似。因此,我們選擇了迭代器模式,讓代碼更加簡潔清晰。我們還選擇了工廠模式來隱藏創(chuàng)建DocumentBuilder對象時(shí)復(fù)雜的創(chuàng)建邏輯11應(yīng)用程序設(shè)計(jì)模式用數(shù)組來分隔表名和條件,具體過程如下:1.將原始查詢的SELECT子句分開,存儲(chǔ)在selectClause中2.使用tableConditions數(shù)組將表名稱與其條件分開3.對于每個(gè)表,使用getConditionByTableName方法從條件字符串中獲取與表名匹配的條件,并將其連接到JO

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論