构建ASP.NET MVC5+EF6+EasyUI 1.4.3+Unity4.x注入的后台管理系统(61)-如何使用框架来开发?...
?
前言:
有些園友經常問如何正確快速開發,但是我告訴你沒有什么幫助文檔比自己動手做更加實在,不用代碼生成器
這一節專門抽了些時間來非常非常詳細演示這個框架的數據流,廢話不多說,現在開始!下面看一張圖,看看數據如何到前端的就完全明白了!
?
只看紅色部分,這是典型的三層模式。其實這張圖只是對我們過去的一個回顧而已!DAL獲取數據庫數據,交給業務層處理邏輯后交付控制器序列化給前端
從用戶請求(View)——>控制器(Controller)——>業務處理(BLL)——>(數據訪問)DAL——最后得到數據
?
-------------------------------------------------------------------------丑陋的分割線----------------------------------------------------------------------------
目錄
上面只是一個開篇,下面讓我們來快速進入主題吧!大致分以下5步完成:(其實純看手速,手速快的5分鐘就可以運行了)
——————————————————————————
——————————————————————————
1.約定
其實在寫完了權限的時候,我發現了很多重復性編碼的東西,所以隨便寫了個代碼生成器,在每次使用代碼生成器的時候發現了,代碼生成器生成的代碼很多都是一樣的,所以使用了T4重構了重復部分。
這都是在實際過程中去摸索完善的過程,沒有任何架構師,一開始能對一個默生的項目提出最好的架構,只有不斷的重構完善,最后才能使框架的維護成本降低!
假如我們是一個大型的應用系統,里面包含的很多業務模塊,比如財務管理,人力資源,銷售,生產,工作流,那么我是這樣分的,也是一種約定
一個好的系統他們是可以被拆分和組合的,所以我這樣分模塊,一個子模塊包含了BLL,DAL,IBLL,IDAL你也可以分文件夾,那都是一樣的
以一個樣例的模塊來演示Sample(Spl),所以我們必須有如下的約定:
數據庫表前綴: Spl_?
類庫的名稱: ? ?Apps.Spl.XXX
控制器區域: ? ?Spl
Models文件夾:Spl
(雖然不是必須執行,但是這也是編碼規范)
2.建立類庫與區域
分別復制來源于Apps.Base下的所有T4到Apps.Spl對應的BLL,DAL,IDAL,IBLL層
并修改T4的內容的usingName前綴為Spl。(為數據表的約定的前綴)
類庫:(如果你的項目是以文件夾而不是類庫分類的那么不需要執行這一步)
區域:
并修改路由規則為如下(多語言的正則表達式)
?View Code3.類庫引用
(如果你的項目是以文件夾而不是類庫分類的那么不需要執行這一步)
為了類庫的引用,我們先建立兩張表,只有表有了T4才能生成,生成后會報錯,報錯之后有助于我們對庫的引用,OK
我這里建立兩張表:表的數據來源于SQL2012的示例數據庫AdventureWorks2012大家可以通過百度找到下載地址
表結構我是自己建的,比較簡單,你可以隨便建立你的表!
?提取數據的語句(如果感興趣可以看看) ?建表語句(如果感興趣可以看看)這是一個產品與類別關系的表!沒啥
根據報錯信息我們將要分別引用類庫,類庫需要引用關系如下圖所示
只看紅色框框內即可,白色為系統原有的類庫,別看好像很復雜,手速快的其實就一分鐘的事情而已!
千萬別忘記注入。在App.Core下的UnityDependencyResolver類庫
4.代碼生成
新建2個控制器。ProductController與ProductCategoryController
最后進入收尾工作,接下來的事情由代碼生成器生成!生成代碼后復制進Controller與View就可以
?
5.運行
運行系統,最后設置好權限和模塊
最后刷新一下系統。杠杠的
總結
文章很長,但是很詳細,看完對框架認知度至少提高200%。
主要幾步來完成。新建類庫---->數據庫表---->生成代碼---->直接運行。速度快的其實只需5分鐘,毫無難度可言
幾乎沒有寫一行代碼就能實現界面的展示,如果把代碼生成器努力優化將能支持多表聯合查詢,支持復合實際的開發業務,那么編碼速度的提升是質的提升
謝謝大家。
下一節將演示如何添加除生成之外的功能!如何使用代碼來做其它事
轉載于:https://www.cnblogs.com/syg1/p/5551882.html
總結
以上是生活随笔為你收集整理的构建ASP.NET MVC5+EF6+EasyUI 1.4.3+Unity4.x注入的后台管理系统(61)-如何使用框架来开发?...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 安卓开发:关于适配的问题
- 下一篇: Linux 文件系统错误的修复方法 d