freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于nodejs的小型框架設(shè)計與實現(xiàn)畢業(yè)設(shè)計論文-資料下載頁

2025-06-18 18:40本頁面
  

【正文】 } 動態(tài)方法調(diào)用當(dāng)同一個業(yè)務(wù)需要多個邏輯進行處理時,如果為每個邏輯都寫一個業(yè)務(wù)邏輯處理對象就顯得非常的冗余。比如開發(fā)用戶功能模塊時,可能涉及到用戶的注冊、用戶的登陸,用戶信息修改等邏輯處理,從面對對象的角度來考慮 這些邏輯都應(yīng)該是同一個對象所擁有的,如果每個邏輯都對應(yīng)的寫一個邏輯處理對象,那么代碼就顯得非常的冗余。所以需要將這些邏輯集合成同一個對象。動態(tài)方法調(diào)用就是為解決這個問題。如果同一個業(yè)務(wù)業(yè)務(wù)對象中具有增刪查改等操作時,動態(tài)方法調(diào)用將根據(jù)用戶請求作出有效快速的選擇。動態(tài)方法調(diào)用主要對代碼編寫有兩個要求。 ,采用 “映射路徑+ ‘!’+ 邏輯處理” 的方式進行邏輯選擇。這一點參照了struts2的動態(tài)方法調(diào)用的寫法。,每個邏輯都應(yīng)該是不同的函數(shù)。通過函數(shù)名的差異進行邏輯選擇。例如,一個User的業(yè)務(wù)邏輯處理對象,擁有add(arguments),delete(arguments),update(arguments)三個邏輯處理函數(shù)那么分別調(diào)用他們只需用通過以下方式即可調(diào)用這些函數(shù)。://localhost:xxxx/User!add或://localhost:xxxx/User!delete通過動態(tài)方法調(diào)用極大的提供了業(yè)務(wù)邏輯的映射效率和簡化了開發(fā)流程。 屬性注入,當(dāng)需要獲取用戶提交的數(shù)據(jù)非常麻煩,如下圖所示:通過對request相關(guān)事件的監(jiān)聽,解析request中的數(shù)據(jù)來獲取用戶提交的信息,這樣顯得非常之繁瑣。通過封裝底層API 實現(xiàn)的屬性注入功能 可以通過this關(guān)鍵是隨時使用用戶提交的參數(shù)。如:屬性注入不僅支持一般的參數(shù),而且支持對象注入功能。但是需要按照規(guī)范來寫參數(shù)名。使用 “對象名 + ’.‘ + 屬性”方式來寫參數(shù)名稱。例如:://localhost:xxxx/User!add?=“huyinghuan”amp。=18這樣的寫法來注入對象(這里使用的是get方式提交數(shù)據(jù),也可以用post方式提交)屬性注入功能將把查詢的參數(shù)組合成對象 {user:{name:”huyinghuan”,age:18}}提供給業(yè)務(wù)處理對象直接使用。 本章小結(jié)本章主要介紹了如何獲取該框架,該框架的具體目錄結(jié)構(gòu)。以及怎么使用該框架和使用該框架時可能用到的API說明。第五章 實例介紹本章將簡單的介紹如何使用該框架完成一個簡單的用戶登錄功能。因為該框架尚處在在開發(fā)階段,沒有打成npm包。所以使用暫時顯得比較繁瑣。下面將詳細介紹開發(fā)流程及步驟。 獲取框架打開網(wǎng)址 下載框架核心文件包括 下載完這些文件后。將這些文件放置在同一個工程目錄下。 編寫業(yè)務(wù)邏輯 設(shè)置服務(wù)器監(jiān)聽端口用vim或者其他文本編輯器如nodepad++。現(xiàn)在找到第7行,此行有個listen()函數(shù),它的參數(shù)就是設(shè)置服務(wù)器需要監(jiān)聽的端口號。此處我們設(shè)置為8888。:此外不需要修改其他地方。. 這一步我們完成了對程序入口的修改。打開控制臺,進入工程目錄并且輸入命令 node 。:,錯誤信息是 不能找到./action/nopath 模型, 啟動失敗。這個錯誤是因為github上的框架源代碼本身做過實例測試,因此保留了一些測試代碼。接下來刪除這些測試代碼,并完成簡單的hello word功能。 實現(xiàn)Hello FastJsonWeb在實現(xiàn)登陸功能之前,需要先確定框架是否搭建成功,因此這里先做一個Hello FastJsonWebl來檢測框架的完整性。是給路由轉(zhuǎn)發(fā)模塊使用。一旦配置出錯遍出現(xiàn) 。:這里暫時忽略了404錯誤請求的處理。然后配置了靜態(tài)資源文件夾并且配置了一個Hello的業(yè)務(wù)邏輯映射。對照配置添加兩個文件夾和一個業(yè)務(wù)邏輯處理對象。: 文件夾添加完畢后。 上一章已介紹。:現(xiàn)在重新運行控制臺命令 node 。:然后打開瀏覽器輸入://localhost:8888/?name=:至此表示框架已成功啟用。接下來用戶登錄功能。 用戶登錄功能,由于本章的主題是如何使用該框架而不是如何編寫頁面,因此只是簡單寫了表單提交。在這個表單里設(shè)計到了屬性注入和動態(tài)方法調(diào)用兩個功能。:圖5. 8其中提交的url 為/Login!login, !后為聲明需要調(diào)用的方法。,這樣做之后在業(yè)務(wù)邏輯對象里直接使用user的object數(shù)據(jù)對象了。對應(yīng)的業(yè)務(wù)邏輯對象 :因為這個框架暫時沒有介紹如何是用數(shù)據(jù)庫連接,這里就用簡單的邏輯代替。做完這些之后不能忘記在映射配置處理里面添加這個業(yè)務(wù)邏輯的映射關(guān)系。圖5. 10后臺方面全部完成以后現(xiàn)在可以訪問頁面了。在瀏覽器中輸入:://localhost:8888/public/ 并分別用正確參數(shù)和錯誤參數(shù)填寫表單 看到如下結(jié)果點擊登錄。, ,并按照前后臺以JSON格式進行數(shù)據(jù)交換設(shè)計,因此推薦前臺使用Jquery的Ajax效果來完成表單的提交,數(shù)據(jù)返回結(jié)果處理等,而不是將數(shù)據(jù)處理結(jié)果作為一個html頁面返回。因此接下來修改用ajax效果來修改這個功能。. 并且通過jquery來控制表單的提交。:重新訪問連接localhost:8888/public/,并嘗試提交表單可以看到后臺返回的json信息。本章介紹如何使用本框架,并且使用該框架完成了一個基礎(chǔ)的用戶登錄功能。完成業(yè)務(wù)功能的時候分別從兩種不同的方式實現(xiàn)。由于本框架設(shè)計時的想法便是以json數(shù)據(jù)交換為主體設(shè)計,這樣可以便于大部分的數(shù)據(jù)表格類都 js插件來使用。有利于簡化數(shù)據(jù)轉(zhuǎn)換的次數(shù)從而提高編碼效率。雖然本章只是實現(xiàn)了簡單的登陸功能,但是依據(jù)本章的介紹和上一章功能的用法介紹,可以編寫出具有相對復(fù)雜業(yè)務(wù)邏輯的程序。為保證論文的簡潔性,在此不再贅述。第六章 不足與發(fā)展 由于開發(fā)時間短,設(shè)計不夠好以及代碼管理等問題,該框架還存在非常多的缺陷。,該框架將得到持續(xù)的維護與功能的完善。以下將介紹該框架的不足之處和未來的發(fā)展情況。 框架的不足 獲取方式困難 使用該框架需要從github上下載該框架的所有文件。但這些文件中包含大量實際開發(fā)中不需要使用到的東西,比如文檔說明,示例等。如若不小心刪除了核心代碼。那么將導(dǎo)致運行出錯了。 代碼效率低 由開發(fā)時間短。寫了大量效率低下的代碼。如在屬性注入一節(jié),使用了深層遞歸處理數(shù)據(jù)對象合并問題。如果請求數(shù)據(jù)中的數(shù)據(jù)對象對象有太多層次,可能導(dǎo)致請求響應(yīng)時間過長導(dǎo)致響應(yīng)中斷。文檔結(jié)構(gòu)復(fù)雜 由于開框架還處理開發(fā)階段沒有封裝成npm包,導(dǎo)致一些實現(xiàn)核心功能的文件暴露在外面。無法正確快速識別。使用框架的功能時,相對功能文件的引用位置比較繁瑣。功能實現(xiàn)不嚴(yán)謹(jǐn) 還是有框架開始時間過短,某些功能在編寫過程只求實現(xiàn)而不求嚴(yán)謹(jǐn)。這樣可能導(dǎo)致在訪問頻繁時可能出現(xiàn)崩潰的情況。如Session數(shù)據(jù)的處理。沒有嚴(yán)格限制每個用戶可擁有的Session數(shù)據(jù)大小。如果出現(xiàn)某個用存儲量數(shù)據(jù)在session中,由于Session數(shù)據(jù)一直存放在內(nèi)存,這樣容易由于數(shù)據(jù)過大導(dǎo)致內(nèi)存溢出問題。日志功能缺少 。該框架在設(shè)計之初并沒有一個完整的日志處理功能模塊,只是打印在控制臺顯示。隨著框架的應(yīng)用,一旦值運行過程中出現(xiàn)錯誤,只是在控制臺顯示是不行的,一旦控制臺關(guān)閉這些錯誤信息就跟隨消失。因此該框架需要一個日志記錄模塊,在日志文件中記錄框架錯誤信息,便于排除錯誤。目前該功能是尚未擁有的。模板引擎集成缺少該框架無法實現(xiàn)類似jsp,php,aspx等頁面模板翻譯。在HTML中應(yīng)用平臺語言進行DOM的輸出和操作。目前可以使用的模板引擎有jade,ejs等,該框架尚未集成這些。因此對于習(xí)慣使用模板開發(fā)的開發(fā)者來說是非常不方便的。底層數(shù)據(jù)連接處理模塊缺少 。沒有在框架中集成實現(xiàn)關(guān)于數(shù)據(jù)連接訪問等功能。對于需要使用數(shù)據(jù)連接的人來說 ,自己集成第三方數(shù)據(jù)庫底層驅(qū)動顯得非常繁瑣和不便。框架文檔和API說明缺乏沒有使用統(tǒng)一的格式或文件進行該框架的結(jié)構(gòu)說明和介紹,也沒有系統(tǒng)詳細介紹該框架的API文檔。導(dǎo)致了他人學(xué)習(xí)和使用困難。以上內(nèi)容為目前所了解和已知的框架不足之處。以下介紹該框架的未來發(fā)展和功能完善問題。 框架的發(fā)展發(fā)布成npm包針對框架獲取方式繁瑣和文檔結(jié)構(gòu)不清晰問題,重新組織文件結(jié)構(gòu)將該框架打成npm包發(fā)布到npm官網(wǎng)。簡化獲取該框架的步驟。優(yōu)化代碼將某些功能函數(shù)進行代碼優(yōu)化,采用更加有效率的算法來完成某些數(shù)據(jù)處理。實現(xiàn)日志記錄針對無法記錄相關(guān)錯誤信息到本地的缺陷,完成日志功能模塊,可以根據(jù)信息級別配置輸出格式和輸出內(nèi)容。集成模板引擎集成多款模板引擎并配置成文件提供不同喜好的用戶選擇。根據(jù)需要集成底層數(shù)據(jù)庫訪問接口根據(jù)開發(fā)者需要提供同一的底層數(shù)據(jù)接口,方便數(shù)據(jù)訪問需要。重新規(guī)劃書寫框架說明的API文檔補充文檔說明。一個框架最重要的不是實現(xiàn)的有多么完美多么簡潔。重要的是有人愿意使用。但一個框架的文檔都不夠詳細到使使用的人知道如果使用,那么這個框架就是失敗的。重新規(guī)劃書寫文檔說明和API文檔說明是整個框架最重要的一部分。這一部分就會著重完成。該框架源代碼托管于github平臺上,便于隨時完善和修改,使得該框架更加簡潔和高效。通過網(wǎng)絡(luò)公開可以尋找據(jù)有相同興趣的人一起修改完善,使得有人知道并且愿意嘗試使用。這個是這個框架最終的目的。 本章小結(jié) 本章具體的介紹了該框架的不足之處以及針對不足之處所做的修改完善計劃。并且說明了開發(fā)這個框架的最終所希望的結(jié)果。參考文獻[1] 《JavaScript 語言精髓與編程實踐》 周愛民著,電子工業(yè)出版社。[2] 《JavaScript 高級程序設(shè)計(第3版)》 Nicholas C. Zakas 著,人民郵電出版社。[3] 《JavaScript 權(quán)威指南(第5版)》 Flanagan David 著,機械工業(yè)出版社出版。[4] 《Git權(quán)威指南》 蔣鑫 著,機械工業(yè)出版社出版。[5] 《Node Web開發(fā)》 David Herron著,人民郵電出版社出版[6]《》 BYVoid著 人民郵電出版社出版[7]開源協(xié)議 [8] : [9]express: [10]一個簡單的Web MVC框架:[11] EJS:Embedded JavaScript: 。[12] Jade: [13]mongoose: [14]mongodb: [14]jquery: [15]javacript: [16] [17] : [18] [19] 《幾種開源協(xié)議的比較研究》王希光著 科技資訊謝 辭 本畢業(yè)論文是在劉征海老師的耐心指導(dǎo)和大力支持下完成的。他豐富的經(jīng)驗和淵博的知了我深深的啟迪。xx老師以嚴(yán)謹(jǐn)求實的治學(xué)態(tài)度精神深深影響了我,給我今后的工作和學(xué)習(xí)提供了強大的助力,在此,我要向他表示衷心的感謝與敬意。另外,本論文在選題及整個開發(fā)設(shè)計過程得到了大多人的幫助。這些幫助來自于學(xué)長學(xué)姐,學(xué)弟學(xué)妹以及同學(xué)。對這些幫助表示感謝。 最后,要向我的父母親致謝。同時也感謝四年來xxx計算機學(xué)院對我的辛苦栽培和教育。感謝你們!感謝所有幫助教育我的人!祝你們健康平安。 PS:該論文最新源碼,包括文獻綜述等請前往我的CSDN資源下載,地址:第 57 頁 共 63 頁
點擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1