應用程序框架實戰三十七:Util最新代碼更新說明


  離上一篇又過去了一個月,時間比較緊,后續估計會更緊,所以這次將放出更多公共操作類及配套的CodeSmith模板,本篇將簡要介紹新放出的重要功能,供有興趣的同學參考。

重要更新

  這一次對兩個VS解決方案均做了大量調整,包含項目結構及命名空間。

  Util解決方案的目錄截圖如下。

  除了少數需要配置的集成測試外,大部分單元測試已放出。

  Applications項目示例的目錄截圖如下。

  Applications項目示例雖然包含的東西不多,卻建了不少項目,可能並不符合你的胃口,我將在下一篇文章向你演示其它項目結構組織方式。

  CodeSmith代碼生成項目的目錄截圖如下,這是生成前的模板,除了實體類、EF映射配置等常規代碼外,我還按EASYUI的三種界面操作方式生成相關的CRUD界面,另外我也嘗試生成一些測試代碼,不過目前效果並不理想,大家可以先參考。

 

  02-Result目錄為生成的代碼。

 

  由於修改了項目命名空間規則,目前放出的模板命名空間有些錯誤,后續會進行修正。對於CodeSmith的使用,還沒有學習過的同學可以先自行安裝軟件,我會在后續幾天進行介紹。

  公共操作類方面,更新了隨機數生成器Util.RandomBuilder,用於生成簡單的隨機測試數據。

  根據部分同學的建議,增加了Autofac和Ef的自動裝配功能。

  單元測試模擬框架已從原先的RhinoMocks改成了NSubStitute

  最近封裝了緩存模塊的部分功能,主要參考蘑菇先生的《那些年我們一起追過的緩存寫法》以及Jusfr.W的《一步步實現一個基本的緩存模塊》,我畫了簡單的類圖和順序圖來幫助理解,目前只實現了部分功能,后續會進行完善。

  為了防止緩存過期時有大量並發請求訪問數據庫,我使用了單元測試進行模擬,並封裝了一個簡單的並發模擬操作類。

  本次更新了對SqlBulkCopy的封裝,EF元數據通過EntityFramework.Extended擴展獲取,不過遺憾的是該擴展對元數據的支持並不夠理想,不支持值對象,即ComplexType,我簡單修改了下,目前僅支持一級,比如user.Address,傳說EF7在元數據方面開放了很多東西,后續將直接在EF7上擴展。

  SqlBuilkCopy配合隨機生成器,可以為簡單的表快速創建測試數據,復雜的情況暫末測試。

  另一個重要更新是對SQL查詢的支持,通過對Dapper的簡單包裝即可完成查詢,該模塊主要實現了對SQL Where條件的拼接,自動完成空值判斷,同時支持分頁,目前實現了Sql Server基於RowNumber和Offset兩種分頁方式,Offset是Sql Server 2012特有語法,分頁效率比RowNumber有大幅提升,特別是點擊分頁最后幾頁時,效果尤其明顯。

  EasyUi方面,更新了查找帶回等功能。

  功能模塊方面,更新了資源管理模塊,資源管理模塊尚未完成,也先放出來供大家參考。

  資源管理模塊涉及圖標選擇,采用查找帶回方式操作,效果圖如下。

 

  注意,使用圖標管理模塊上傳圖標時,會自動更新相關的CSS文件,由於目前該文件是靜態引用,所以上傳的圖標在圖標選擇界面中無法顯示,請上傳后Ctrl +R刷新,后續會將引用方式改成動態,每次上傳成功都需要更新CSS文件引用。

  表現層引入了ValidateAntiForgeryToken特性,所有公共JS均已更新。

  本次更新大量類,有興趣自己看看,不一一介紹了。

版權申明

  1. 本應用程序框架版權歸作者何鎮汐所有。

  2. 本框架代碼可免費使用,允許用於商業目的。

  3. 如果您的開源項目中采用了本框架少量代碼,不需要注明出處。

  4. 如果您的開源項目中采用了本框架大量代碼,請注明出處。

  5. 嚴重鄙視某些人直接修改本框架命名空間后開源,本人保留追究法律責任的權利。

  6. 禁止直接銷售本框架源碼騙錢,本人保留追究法律責任的權利。

結束語

  本篇介紹了重要的更新內容,下一篇介紹VS解決方案的創建。

QQ群

  應用程序框架交流QQ群1:386092459(已滿)

  應用程序框架交流QQ群2:376124781

  EasyUi交流QQ群:157809322 

源碼下載:(下載時順手推薦)

框架源碼:http://files.cnblogs.com/files/xiadao521/Framework.2015.5.20.1.rar

項目示例源碼:http://files.cnblogs.com/files/xiadao521/Applications.2015.5.20.1.rar

數據庫備份:http://files.cnblogs.com/files/xiadao521/Data.2015.5.20.1.rar

Codesmith生成器模板:http://files.cnblogs.com/files/xiadao521/CodeGenerator.2015.5.20.1.rar     


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM