asp.net MVC 5 Scaffolding多層架構代碼產生嚮導開源項目(邀請你的參與)

來源:互聯網
上載者:User

標籤:

Visual Studio.net 2013 asp.net MVC 5 Scaffolding代碼產生嚮導開源項目

提高開發效率,規範代碼編寫,最好的方式就是使用簡單的設計模式(MVC , Repoistory Pattern)+ 模板產生工具。每個小型的軟體公司似乎都有自己的基礎開發平台,大部分都是基於資料字典+模板動態產生CRUD的操作頁面;一般的項目80%代碼都可以通過模板產生但並不意味著可以縮短80%的項目開發時間,畢竟很多的業務操作還是要根據使用者的需求去定製開發還是需要不少時間去理解和開發的。但隨著項目經驗積累和沉澱,可以為以後的項目提供協助。

現在隨著移動互連網,手機APP,IPAD等行動裝置的流行,似乎所有的需求都需要移動端的應用,我想這也是為什麼最近MVC越來越火的原因。不單單是因為MVC的簡潔(相對web Form),還有MVC確實要比Web Form更適合在不同的裝置上瀏覽,也更容易封裝和複用(Partial View,LayoutTemplate)。

 

最近抽空開發一個居於MVC的代碼產生工具,其實也是在別人基礎修改的,如果你也有興趣可以一起參與完善,github是個好東西就是國內訪問速度太慢。

我的項目地址 https://github.com/neozhu/MVC5-Scaffolder

 

項目階段

目前基本實現了對單個實體的增刪改查功能

下一步實現導覽功能表動態配置動態建立

頁面部分全部是現實Ajax局部重新整理

頂部導覽列通知功能

添加登陸註冊頁面模板

一對多的新增編輯模板

MVC5-Scaffolder開源項目

這個工具的功能通過模板自動產生EntityFramework + UnitOfWork Repository Framework 項目代碼,整體項目架構完全參考《Generic Unit of Work and Repositories (lightweight fluent) Framework with Sample Northwind ASP.NET MVC 5 Application》如所示,非常完美的架構。

 

  • UI (Presentation) Layer
    • ASP.NET MVC - (Sample app: Northwind.Web)
    • Kendo UI - (Sample app: Northwind.Web)
    • AngularJS - (Sample app: Northwind.Web)
  • Service and Data Layer
    • Repository Pattern - Framework (Repository.Pattern, Repository.Pattern.Ef6, Northwind.Repository)
    • Unit of Work Pattern - Framework (Repository.Pattern, Repository.Pattern.EF6, Northwind.Repository)
    • Entity Framework
    • Service Pattern - Framework (Service.Pattern, Northwind.Service)
  • Domain Driven Design (*slated for release v4.0.0)
    • Domain Events
    • *more to come

運行起來大致的樣式如下採用Boostrap sb-admin.css

 

MVC5-Scaffolder項目結構和組成

Demo

---UnitOfWorkFramework –從網上下載的原始碼(http://genericunitofworkandrepositories.codeplex.com/)

--WebApp -Web項目

MVC5Scaffloding -Vs.net 2013代碼產生嚮導外掛程式項目

---Templates ---所有代碼產生的模板包括View,Controller,Repoistory,Service,依賴的外部類

 

MVC5Scaffloding.vsix –安裝項目

 

代碼模板

MvcControllerWithContext –Controller代碼模板

_layout –首頁面模板

_SideNavBar –主菜單導覽列

_TopNavBa —首頁面頂部導覽列

Sb-admin --css樣式網上下載的最簡單的樣式

MvcView --CRUD模板

Repoistories -產生擴充方法可以理解成資料訪問層

Services –產生商務邏輯層代碼

 

實體類結構

Metadata原資料類也是通過嚮導產生必要驗證規則

也可以很方便修改

 

 

Repoistories,Services 代碼結構

模板會產生與該實體相關聯的實體方法比如通過外鍵擷取關聯的實體物件集合

 

Service層同樣會產生與之相關的所有方法和實體

 

Service層在Repoistory層之上,如果商務邏輯複雜需要多個Repository實現那麼一個service中會包含多個Repository

 

Controller代碼結構

 

除了基本的增刪改查,Index方法實現了分頁查詢,排序還沒有實現

IProductService,IUnitOfWorkAsync則是通過Unity依賴注入建立

 

配置Unity註冊資訊

首先項目要通過nuget安裝Unity boostrapper for asp.net mvc

把建立的Repoistory,Service類註冊進去

 

運行調試

基本產生樣式就是這樣

Index首頁有分頁和查詢功能

修改 可以刪除

 

目前只是一個雛形,還有很多功能需要完善,如果你有興趣可以一起參與幫忙。

asp.net MVC 5 Scaffolding多層架構代碼產生嚮導開源項目(邀請你的參與)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.