一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - ASP.NET教程 - ASP.NET樣板項目ABP框架的特性總結(jié)

ASP.NET樣板項目ABP框架的特性總結(jié)

2020-01-13 16:42陽光銘睿 ASP.NET教程

這篇文章主要介紹了ASP.NET樣板項目ABP框架的特性總結(jié),ABP框架基于ASP.NET框架,用于開發(fā)Web應(yīng)用程序,需要的朋友可以參考下

ABP是“ASP.NET Boilerplate Project (ASP.NET樣板項目)”的簡稱。

ASP.NET Boilerplate是一個用最佳實踐和流行技術(shù)開發(fā)現(xiàn)代WEB應(yīng)用程序的新起點,它旨在成為一個通用的WEB應(yīng)用程序框架和項目模板。

ASP.NET Boilerplate 基于DDD的經(jīng)典分層架構(gòu)思想,實現(xiàn)了眾多DDD的概念(但沒有實現(xiàn)所有DDD的概念)。

ABP的官方網(wǎng)站:http://www.aspnetboilerplate.com

ABP在Github上的開源項目:https://github.com/aspnetboilerplate
ASP.NET Boilerplate采用了以下技術(shù):

  • 多語言/本地化支持
  • 多租戶支持(每個租戶的數(shù)據(jù)自動隔離,業(yè)務(wù)模塊開發(fā)者不需要在保存和查詢數(shù)據(jù)時寫相應(yīng)代碼)
  • 軟刪除支持(繼承相應(yīng)的基類或?qū)崿F(xiàn)相應(yīng)接口,會自動實現(xiàn)軟刪除)
  • 統(tǒng)一的異常處理(應(yīng)用層幾乎不需要處理自己寫異常處理代碼)
  • 數(shù)據(jù)有效性驗證(Asp.NET MVC只能做到Action方法的參數(shù)驗證,ABP實現(xiàn)了Application層方法的參數(shù)有效性驗證)
  • 日志記錄(自動記錄程序異常)
  • 模塊化開發(fā)(每個模塊有獨立的EF DbContext,可單獨指定數(shù)據(jù)庫)
  • Repository倉儲模式(已實現(xiàn)了Entity Framework、NHibernate、MangoDB、內(nèi)存數(shù)據(jù)庫)
  • Unit Of Work工作單元模式(為應(yīng)用層和倉儲層的方法自動實現(xiàn)數(shù)據(jù)庫事務(wù))
  • EventBus實現(xiàn)領(lǐng)域事件(Domain Events)
  • DLL嵌入資源管理
  • 通過Application Services自動創(chuàng)建Web Api層(不需要寫ApiController層了)
  • 自動創(chuàng)建Javascript 的代理層來更方便使用Web Api
  • 封裝一些Javascript 函數(shù),更方便地使用ajax、消息框、通知組件、忙狀態(tài)的遮罩層等等

ABP是什么?
ABP是為新的現(xiàn)代Web應(yīng)用程序使用最佳實踐和使用最流行工具的一個起點。可作為一般用途的應(yīng)用程序的基礎(chǔ)框架或項目模板。它的功能包括:

服務(wù)器端:

  • 基于最新的.NET技術(shù) (目前是ASP.NET MVC 5、Web API 2、C# 5.0,在ASP.NET 5正式發(fā)布后會升級)
  • 實現(xiàn)領(lǐng)域驅(qū)動設(shè)計(實體、倉儲、領(lǐng)域服務(wù)、領(lǐng)域事件、應(yīng)用服務(wù)、數(shù)據(jù)傳輸對象,工作單元等等)
  • 實現(xiàn)分層體系結(jié)構(gòu)(領(lǐng)域?qū)樱瑧?yīng)用層,展現(xiàn)層和基礎(chǔ)設(shè)施層)
  • 提供了一個基礎(chǔ)架構(gòu)來開發(fā)可重用可配置的模塊
  • 集成一些最流行的開源框架/庫,也許有些是你正在使用的。
  • 提供了一個基礎(chǔ)架構(gòu)讓我們很方便地使用依賴注入(使用Castle Windsor作為依賴注入的容器)
  • 提供Repository倉儲模式支持不同的ORM(已實現(xiàn)Entity Framework 、NHibernate、MangoDb和內(nèi)存數(shù)據(jù)庫)
  • 支持并實現(xiàn)數(shù)據(jù)庫遷移(EF 的 Code first)
  • 模塊化開發(fā)(每個模塊有獨立的EF DbContext,可單獨指定數(shù)據(jù)庫)
  • 包括一個簡單的和靈活的多語言/本地化系統(tǒng)
  • 包括一個 EventBus來實現(xiàn)服務(wù)器端全局的領(lǐng)域事件
  • 統(tǒng)一的異常處理(應(yīng)用層幾乎不需要處理自己寫異常處理代碼)
  • 數(shù)據(jù)有效性驗證(Asp.NET MVC只能做到Action方法的參數(shù)驗證,ABP實現(xiàn)了Application層方法的參數(shù)有效性驗證)
  • 通過Application Services自動創(chuàng)建Web Api層(不需要寫ApiController層了)
  • 提供基類和幫助類讓我們方便地實現(xiàn)一些常見的任務(wù)
  • 使用“約定優(yōu)于配置原則”

 

客戶端:

  • Bootstrap、Less、AngularJs、jQuery、Modernizr和其他JS庫: jQuery.validate、jQuery.form、jQuery.blockUI、json2等
  • 為單頁面應(yīng)用程序(AngularJs、Durandaljs)和多頁面應(yīng)用程序(Bootstrap+Jquery)提供了項目模板。
  • 自動創(chuàng)建Javascript 的代理層來更方便使用Web Api
  • 封裝一些Javascript 函數(shù),更方便地使用ajax、消息框、通知組件、忙狀態(tài)的遮罩層等等

 

ABP不是什么?
ABP 提供了一個應(yīng)用程序開發(fā)模型用于最佳實踐。它擁有基礎(chǔ)類、接口和工具使我們?nèi)菀捉⑵鹂删S護的大規(guī)模的應(yīng)用程序。

然而:

  • 它不是RAD工具之一,RAD工具的目的是無需編碼創(chuàng)建應(yīng)用程序。相反,ABP提供了一種編碼的最佳實踐。
  • 它不是一個代碼生成工具。在運行時雖然它有一些特性構(gòu)建動態(tài)代碼,但它不能生成代碼。
  • 它不是一個一體化的框架。相反,它使用流行的工具/庫來完成特定的任務(wù)(例如用EF做ORM,用Log4Net做日志記錄,使得Castle Windsor作為賴注入容器, AngularJs 用于SPA 框架)。

 就我使用了ABP幾個月的經(jīng)驗來看,雖然ABP不是RAD,但是用它開發(fā)項目絕對比傳統(tǒng)三層架構(gòu)要快很多。

雖然ABP不是代碼生成工具,但因為有了它,使我們項目的代碼更簡潔規(guī)范,這有利于使用代碼生成工具。

我自己使用VS2013的Scaffolder+T4開發(fā)的代碼生成器,可根據(jù)領(lǐng)域?qū)ο蟮腢ML類圖自動生成全部前后端代碼和數(shù)據(jù)庫,簡單的CURD模塊幾乎不需要編寫代碼,有復(fù)雜業(yè)務(wù)邏輯的模塊主要補充領(lǐng)域?qū)哟a即可。這樣就能把時間多花在領(lǐng)域模型的設(shè)計上,減少寫代碼的時間。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美日韩精品免费一区二区三区 | 久久 这里只精品 免费 | 亚洲激情偷拍 | 91亚洲在线 | 护士柔佳 | 国产精品网页 | 波多野结衣久久国产精品 | 岛国片免费看 | 小仙夜晚慰自催眠mp3护士篇 | 美女露全身永久免费网站 | 精品久久久久免费极品大片 | 亚洲偷窥图区色 | 爱爱亚洲| 国内精品一区二区在线观看 | 成人观看免费观看视频 | 日韩精品福利视频一区二区三区 | 成年性午夜免费视频网站不卡 | 四虎国产免费 | 国产91短视频 | 青青成人| 极品美女写真菠萝蜜视频 | 色多多在线视频 | 日韩伦理一区 | 91天堂一区二区 | 每天都要睡男人(nph) | 久久精品观看影院2828 | 美女扒下内裤让男人桶的图片 | 久久婷婷五月综合色丁香 | 国产精品林美惠子在线观看 | 国产九九热视频 | 欧美激情影音先锋 | 蜜桃视频一区二区三区四区 | 91精品国产亚洲爽啪在线影院 | 国产香蕉97碰碰在线视频 | 色五婷婷 | 国产小视频网站 | 色图片小说 | 男人女人日皮视频 | 午夜一级影院 | 99精品国产久热在线观看66 | 国产精品 视频一区 二区三区 |