1. <wbr id="m8vu6"></wbr>

      <del id="m8vu6"><center id="m8vu6"><source id="m8vu6"></source></center></del>
        <p id="m8vu6"><sub id="m8vu6"></sub></p>

        VB.net 2010 視頻教程 VB.net 2010 視頻教程 VB.net 2010 視頻教程
        SQL Server 2008 視頻教程 c#入門經典教程 Visual Basic從門到精通視頻教程
        當前位置:
        首頁 > 編程開發 > C#編程 >
        • C#教程之ABP開發手記1 - 開篇

        • 2019-09-30 21:29 來源:未知

        基于DDD的現代ASP.NET開發框架 - ABP

         

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

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

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

        ABP在Github上的開源項目:https://github.com/aspnetboilerplate

         

        ABP 的由來

         “DRY——避免重復代碼”是一個優秀的開發者在開發軟件時所具備的最重要的思想之一。我們在開發企業WEB應用程序時都有一些類似的需求,例如:都需要登錄頁面、用戶/角色管理、權限驗證、數據有效性驗證、多語言/本地化等等。一個高品質的大型軟件都會運用一些最佳實踐,例如分層體系結構、領域驅動設計、依賴注入等。我們也可能會采用ORM、數據庫遷移(Database Migrations)、日志記錄(Logging)等工具。

        從零開始創建一個企業應用程序是一件繁瑣的事,因為需要重復做很多常見的基礎工作。許多公司都在開發自己的應用程序框架來重用于不同的項目,然后在框架的基礎上開發一些新的功能。但并不是每個公司都有這樣的實力。假如我們可以分享的更多,也許可以避免每個公司或每個項目的重復編寫類似的代碼。作者之所以把項目命名為“ASP.NET Boilerplate”,就是希望它能成為開發一般企業WEB應用的新起點,直接把ABP作為項目模板。

         

        ABP是什么?

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

        服務器端:

        • 基于最新的.NET技術 (ASP.NET Core,EF Cor,ASP.NET MVC 5.x,EF6.x)
        • 實現領域驅動設計(實體、倉儲、領域服務、領域事件、應用服務、數據傳輸對象,工作單元等等)
        • 實現分層體系結構(領域層,應用層,展現層和基礎設施層)
        • 提供了一個基礎架構來開發可重用可配置的模塊
        • 集成一些最流行的開源框架/庫,也許有些是你正在使用的
        • 提供了一個基礎架構讓我們很方便地使用依賴注入(使用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、jQuery、Angular、Vue、React和其他JS庫: jQuery.validate、jQuery.form、jQuery.blockUI、json2等
        • 為單頁面應用程序(Angular,Vue,React)和多頁面應用程序(Bootstrap+jQuery)提供了項目模板。
        • 自動創建Javascript 的代理層來更方便使用Web API
        • 封裝一些Javascript 函數,更方便地使用ajax、消息框、通知組件、忙狀態的遮罩層等等

         

        除ABP框架項目以外,還開發了名叫“Zero”的模塊,實現了以下功能:

        •  用戶,角色,權限和組織單位管理界面。
        •  租戶,版本和功能管理界面,租戶訂閱系統。
        •  Xamarin移動應用程序。
        •  設置管理界面。
        •  動態語言管理用戶界面,RTL支持。
        •  實時聊天和通知系統。
        •  審核日志報告用戶界面。
        •  用戶個人資料,帳戶鏈接,模擬,社交登錄等...
        •  基于Metronic的主題。

         

        ABP不是什么?

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

        然而:

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

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

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

        相關教程
        免费看成年人视频大全_免费看成年人视频在线观看