中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ASP.NET樣板項目ABP框架的特性有哪些

發布時間:2021-09-16 17:04:48 來源:億速云 閱讀:129 作者:小新 欄目:開發技術

這篇文章主要為大家展示了“ASP.NET樣板項目ABP框架的特性有哪些”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“ASP.NET樣板項目ABP框架的特性有哪些”這篇文章吧。

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

ASP.NET Boilerplate是一個用最佳實踐和流行技術開發現代WEB應用程序的新起點,它旨在成為一個通用的WEB應用程序框架和項目模板。

ASP.NET Boilerplate 基于DDD的經典分層架構思想,實現了眾多DDD的概念(但沒有實現所有DDD的概念)。

ABP的官方網站:http://www.aspnetboilerplate.com

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

  • 多語言/本地化支持

  • 多租戶支持(每個租戶的數據自動隔離,業務模塊開發者不需要在保存和查詢數據時寫相應代碼)

  • 軟刪除支持(繼承相應的基類或實現相應接口,會自動實現軟刪除)

  • 統一的異常處理(應用層幾乎不需要處理自己寫異常處理代碼)

  • 數據有效性驗證(Asp.NET MVC只能做到Action方法的參數驗證,ABP實現了Application層方法的參數有效性驗證)

  • 日志記錄(自動記錄程序異常)

  • 模塊化開發(每個模塊有獨立的EF DbContext,可單獨指定數據庫)

  • Repository倉儲模式(已實現了Entity Framework、NHibernate、MangoDB、內存數據庫)

  • Unit Of Work工作單元模式(為應用層和倉儲層的方法自動實現數據庫事務)

  • EventBus實現領域事件(Domain Events)

  • DLL嵌入資源管理

  • 通過Application Services自動創建Web Api層(不需要寫ApiController層了)

  • 自動創建Javascript 的代理層來更方便使用Web Api

  • 封裝一些Javascript 函數,更方便地使用ajax、消息框、通知組件、忙狀態的遮罩層等等

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

服務器端:

  • 基于最新的.NET技術 (目前是ASP.NET MVC 5、Web API 2、C# 5.0,在ASP.NET 5正式發布后會升級)

  • 實現領域驅動設計(實體、倉儲、領域服務、領域事件、應用服務、數據傳輸對象,工作單元等等)

  • 實現分層體系結構(領域層,應用層,展現層和基礎設施層)

  • 提供了一個基礎架構來開發可重用可配置的模塊

  • 集成一些最流行的開源框架/庫,也許有些是你正在使用的。

  • 提供了一個基礎架構讓我們很方便地使用依賴注入(使用Castle Windsor作為依賴注入的容器)

  • 提供Repository倉儲模式支持不同的ORM(已實現Entity Framework 、NHibernate、MangoDb和內存數據庫)

  • 支持并實現數據庫遷移(EF 的 Code first)

  • 模塊化開發(每個模塊有獨立的EF DbContext,可單獨指定數據庫)

  • 包括一個簡單的和靈活的多語言/本地化系統

  • 包括一個 EventBus來實現服務器端全局的領域事件

  • 統一的異常處理(應用層幾乎不需要處理自己寫異常處理代碼)

  • 數據有效性驗證(Asp.NET MVC只能做到Action方法的參數驗證,ABP實現了Application層方法的參數有效性驗證)

  • 通過Application Services自動創建Web Api層(不需要寫ApiController層了)

  • 提供基類和幫助類讓我們方便地實現一些常見的任務

  • 使用“約定優于配置原則”

客戶端:

  • Bootstrap、Less、AngularJs、jQuery、Modernizr和其他JS庫: jQuery.validate、jQuery.form、jQuery.blockUI、json2等

  • 為單頁面應用程序(AngularJs、Durandaljs)和多頁面應用程序(Bootstrap+Jquery)提供了項目模板。

  • 自動創建Javascript 的代理層來更方便使用Web Api

  • 封裝一些Javascript 函數,更方便地使用ajax、消息框、通知組件、忙狀態的遮罩層等等

ABP不是什么?
ABP 提供了一個應用程序開發模型用于最佳實踐。它擁有基礎類、接口和工具使我們容易建立起可維護的大規模的應用程序。

然而:

  • 它不是RAD工具之一,RAD工具的目的是無需編碼創建應用程序。相反,ABP提供了一種編碼的最佳實踐。

  • 它不是一個代碼生成工具。在運行時雖然它有一些特性構建動態代碼,但它不能生成代碼。

  • 它不是一個一體化的框架。相反,它使用流行的工具/庫來完成特定的任務(例如用EF做ORM,用Log4Net做日志記錄,使得Castle Windsor作為賴注入容器, AngularJs 用于SPA 框架)。

 就我使用了ABP幾個月的經驗來看,雖然ABP不是RAD,但是用它開發項目絕對比傳統三層架構要快很多。

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

我自己使用VS2013的Scaffolder+T4開發的代碼生成器,可根據領域對象的UML類圖自動生成全部前后端代碼和數據庫,簡單的CURD模塊幾乎不需要編寫代碼,有復雜業務邏輯的模塊主要補充領域層代碼即可。這樣就能把時間多花在領域模型的設計上,減少寫代碼的時間。 

以上是“ASP.NET樣板項目ABP框架的特性有哪些”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

永靖县| 宁明县| 江山市| 崇阳县| 齐齐哈尔市| 乐清市| 瑞丽市| 大方县| 昭苏县| 青田县| 大石桥市| 禹城市| 乌拉特后旗| 墨竹工卡县| 丁青县| 临桂县| 屏东县| 湘乡市| 枝江市| 海安县| 来安县| 新宁县| 三河市| 随州市| 蒙自县| 海口市| 樟树市| 越西县| 德保县| 开平市| 长春市| 拉萨市| 铜鼓县| 松江区| 外汇| 夹江县| 嘉荫县| 依安县| 富裕县| 万源市| 台南县|