《ABP Framework 極速開發》教程首發

来源:https://www.cnblogs.com/YGYH/archive/2022/08/05/16553919.html
-Advertisement-
Play Games

從零開始搭建基於 ABP Framework 分層架構解決方案,快速集成框架內置應用模塊。探索基於 ABP Framework 極速開發的最佳路徑,構建一個模塊完備、可開發、可調試、可發佈和部署的分層架構解決方案。 ...


寫在發佈之前

有沒有小伙伴跟我剛開始接觸 ABP Framework 的感覺一樣“一看文檔深似海”,看完文檔之後,想要上手卻找不著頭緒。

本套教程寫作的目的之一是為初學者提供一條相對簡潔的快速上手路徑,避免陷入到框架細節中,節省入門時間、降低上手難度,快速應用、整合、運行、發佈整個解決方案,先從整體開發上對框架有一個把握。

官方文檔提供的是“標準化”內容,在實際使用過程中,難免會遇到一些“意想不到的情況“,啟動模板不支持源碼調試,官方教程也並沒有提供基於生產環境發佈、部署的詳細文檔。本教程是基於實戰過程的步驟和經驗總結,能夠對官方教程進行有效補充,

在 ABP Framework 正式版 1.0 之前(那時還叫 ABP vNext),就一直關註和學習,框架良好的設計和最佳實踐一直引人跟隨。在上手和熟悉 ABP Framework 的過程中,走過很多彎路,填過很多坑,很多內容都是在反覆操作、不斷排錯的過程中總結出來。

寫教程是一件非常耗時且考驗毅力的事情,剛開始並沒有整理成文的想法,只是在使用過程中,對碰到的問題隨手做的筆記,方便以後快速查詢,慢慢地積累的內容越來越多。

很多內容也是隨著版本更新總結而來,在準備示例項目時,當時 ABP Framework 最新版本是 4.3.2 ,教程內容大體完成時已經更新到 5.3.1 ,所以就增加了第五階段:升級和維護的內容,總結了從 4.3.2 跨多版本升級到 5.3.1 的升級步驟和經驗。

在 5.3.0 版本中,新的主題 LeptonX Lite 發佈 beta 版,儘管 ABP Framework 框架整體設計優良,但是預設UI主題確實很Low,所以又增加了第六階段:框架定製的內容,總結瞭如何將預設主題切換為 LeptonX Lite 1.0.0-beta.3 的步驟。

課程目標

  • 掌握ABP Framework 分層架構從零開始搭建過程
    • 掌握 ABP CLI 使用,並基於該工具創建整個解決方案
    • 掌握 ABP Framework 源碼調試方法
  • 掌握 ABP Framework 應用模塊快速集成方法
    • 整合 ABP Framework “全家桶”
    • 熟悉 ABP Framework 應用模塊開發規範
  • 掌握 ABP Framework 開發到部署的完整流程
    • 實踐和理論相結合:提供可運行、可發佈的示例項目,併進行必要的架構分析、應用模塊分析。
    • 最終將“全家桶”發佈到生產環境。
  • 掌握 ABP Framework 升級過程和維護方法
  • 掌握 ABP Framework 常用功能的定製方法

面向對象

適合具有一定 .NET Core 、ASP.NET Core MVC 基礎,希望快速上手 ABP Framework 的開發者。

本教程旨在幫助快速應用和整合 ABP Framework “全家桶”,快速集成常用應用模塊,充分發揮模塊復用業務復用的模塊化優勢;探索基於 ABP Framework 極速開發的最佳路徑,解決方案中全部 ABP Framework 框架模塊和應用模塊都使用項目源碼引用,方便進入框架內部進行源碼調試、過程跟蹤、原理分析;最終得到一個模塊完備、可開發、可調試、可發佈和部署的分層架構解決方案。

鏈接直達:ABP Framework 極速開發

記錄技術修行中的反思與感悟,以碼傳心,以軟制道,知行合一!
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 什麼是商城系統?商城系統又稱線上商城系統,是一個功能完善的線上購物系統,主要為線上銷售和線上購物服務。 一般的商城系統運營模式有B2C單商戶商城系統,B2B2C多商戶商城系統以及SAAS運營版。但是搭建一個商城系統過程很麻煩,這時候我們這些現成的來幫忙啦!likeshop是一個100%開源免費商用而 ...
  • 繼 Tabby、Warp 後,今天再來給大家推薦一款終端神器——WindTerm,完全開源,在 GitHub 上已經收穫 6.6k 的 star。 https://github.com/kingToolbox/WindTerm 作者還拿 WindTerm 和 Putty、xterm、Windows ...
  • 一、前言 我們在實際開發中肯定會遇到後端的時間傳到前端是這個樣子的:2022-08-02T15:43:50 這個時候前後端就開始踢皮球了,!! 後端說:前端來做就可! 前端說:後端來做就可! 作為一名有責任感的後端,這種事情怎麼能讓前端來搞呢! 還有就是Long類型的返回到前端可能會損失精度,這個情 ...
  • 在上一遍文章中已經介紹了PixelShaderEffect 用hlsl(著色器) 可以實現各種自定義濾鏡效果了,本文將用 "ThresholdEffect" 來講解如何編寫,編譯hlsl,然後使用PixelShaderEffect製作自定義濾鏡。 效果圖: 一.hlsl幫助程式介紹 在寫hlsl 代 ...
  • 簡介 FTP是FileTransferProtocol(文件傳輸協議)的英文簡稱,而中文簡稱為“文傳協議”。用於Internet上的控制文件的雙向傳輸。同時,它也是一個應用程式(Application)。基於不同的操作系統有不同的FTP應用程式,而所有這些應用程式都遵守同一種協議以傳輸文件。 FTP ...
  • 在繼承中,派生類可以拿到基類的方法,若是派生類很多,且有時某部分派生類的部分實現邏輯是一樣的,但其他的派生類又用不到,這個時候這些邏輯若是全部寫到派生類中,就會導致產生很多的重覆邏輯,但是若是寫到基類中就會導致其他用不到當前邏輯的派生類也能調用,這樣就會導致代碼維護出現了問題。由此產生了介面。 在C ...
  • WPF 截圖控制項之移除控制項(九)「仿微信」 WPF 截圖控制項之移除控制項(九)「仿微信」 作者:WPFDevelopersOrg 原文鏈接: https://github.com/WPFDevelopersOrg/WPFDevelopers 框架使用大於等於.NET40; Visual Studio ...
  • 之前寫的DBHelper,名稱確實太Low,就改了個名,叫LiteSql,本來想叫SqlShuttle(SQL一把梭),奈何單詞太長。 有兩個版本,一個是LiteSql,一個是Dapper.LiteSql,LiteSql底層用的是ADO.NET,Dapper.LiteSql底層用的是Dapper,提 ...
一周排行
    -Advertisement-
    Play Games
  • 1.1 關於C# C#只是一種簡單安全的新型面向對象語言,繼承了C的語法風格和C++的面向對象特性,不再提供對指針類型的支持(因此程式不可隨便訪問記憶體地址空間)、不再支持多重繼承; C#的誕生意義是生成面向.NET Framework環境的代碼,身為編程語言的一種,它作為開發工具而存在,本身並不是. ...
  • 往一張產品圖片上,加兩個小標簽,Demo實現最好的效果 素材例圖與最終效果如下: 具體實現的代碼如下: 添加引用: using System.Drawing; using System.Drawing.Drawing2D; 註意:如果添加命名空間沒效果,加一下Nuget包 System.Drawin ...
  • 前置要求:有百度賬號,實名認證以及開發者認證,創建應用並獲取到關鍵憑證:Appid、Appkey、Secretkeyk和Signkey 平臺上入門十分清楚,直接對著逐步操作即可,個人開發者審核也很快 百度網盤開放平臺地址如下:https://pan.baidu.com/union/doc/nksg0 ...
  • 使用方法 安裝 Maven <dependency> <groupId>com.github.yulichang</groupId> <artifactId>mybatis-plus-join</artifactId> <version>1.2.4</version> </dependency> G ...
  • 數字常量 int: 一般的整數, long: 長整型,2.x版本需在數字後加 “L” 或 “l” ,表示長整型 如 100000000L; python3.x 版本後不分長整型,統一為int,不可加 “L” 或 “l” float: 浮點數,1.0 也為浮點數,float 可強制轉換為 int,取整 ...
  • if __name__ == "__main__" 也就是說執行當前文件,不調用模塊的時候__name__=__main__ 調用模塊的時候,測試如下: 1、新建 test01.py 文件測試代碼如下 print("這條消息來自test01") def func(): print('hello, w ...
  • 一.scoket基本介紹 1.scoket簡介(以下是來自chatgpt回答) 1)Socket(套接字)是電腦網路中用於描述主機之間通信的一種機制。它定義了一種標準的介面, 使得應用程式可以利用網路傳輸層提供的服務(如TCP或UDP)進行通信。 2)Socket的作用是在網路應用程式之間提供數據 ...
  • 一、函數的定義 可以分為以下兩種: 1、函數聲明和函數定義分離 這種方法將函數聲明和函數定義分開,通常在頭文件中先聲明函數原型,然後在源文件中實現函數定義。 例如,頭文件 example.h 中聲明瞭一個函數 add: #ifndef EXAMPLE_H #define EXAMPLE_H int ...
  • 一 回顧trait使用 https://blog.csdn.net/bushuwei/article/details/103514174發現之前本人說明很模糊,自己居然不知道為什麼其實這裡的$c,就是class B再次回顧邏輯 二 分析 self和static區別說的沒毛病 Trait基類use t ...
  • 一、延遲計算 RDD 代表的是分散式數據形態,因此,RDD 到 RDD 之間的轉換,本質上是數據形態上的轉換(Transformations) 在 RDD 的編程模型中,一共有兩種運算元,Transformations 類運算元和 Actions 類運算元。開發者需要使用 Transformations ...