git clone [email protected]:shengyu-kmust/SnailAspNetCoreFramework.git
git clone [email protected]:shengyu-kmust/Snail.git
cd SnailAspNetCoreFramework
dotnet build
如下是基於v1.0版本的示範圖
--ApplicationCore // 核心抽象層,採用clear architecture模式,不依賴其它層,其它三個項目都依賴此類庫,負責接口、常數、枚舉、dto、實體等公共定義
----Const // 常數定義,如配置常數,事件名常數
----Dtos // 所有的dto
----Entities // 所有實體
----Enums // 枚舉
----IServices // Service層的抽象定義
----Utilities // 幫助類
--Infrastructure // 基礎架構層,為上層(如服務層及應用層)提供資料服務。
----Data/config // 資料庫entityframework fluent api配置
----EFValueConverter // entityframework的資料庫型別和clr型別的轉換,如枚舉轉換
----Migrations //為entityframework code first的migrate產生目錄
--Service // 服務層,用於實作ApplicationCore裡的服務接口,為應用的邏輯實現的主層
----Cache // 快取實現,後面會移除並抽離到Snail項目
----Interceptor // 預設實作的攔截器
----BaseService.cs // 各service的基底類,包含了各service的常用方法,如CRUD
----InitDatabaseService.cs // 負責資料庫的資料初始化
----InterceptorService.cs // 攔截器基底類
--Web // 負責介面參數的輸入及輸出的所有相關處理(如參數校驗,輸出格式預定等)
----AutoFacModule // autofac的注入配置
----AutoMapperProfiles // automapper的配置
----ClientApp // 前端項目
------build // 前端編譯產生的輸出目錄
------mock // 前端mock
------src // 前端核心程式碼
----CodeGenerater // 程式碼產生的t4模組和相關邏輯
----ConfigureServicesExtenssions // serviceProvider的注入擴展,以避免寫在startup檔案裡
----Controllers // 控制器
----docs // 文件集
----Dto // 只會在web層裡用到的dto類
----Filter // 過濾器
----Hubs // signalr
----Permission // 權限的預設實現
----staticFile // 用於儲存上傳的文件
採用DDD,但要依照專案的大小應用DDD的不同技術,整體是分以下幾個項目
領域驅動,如果依賴其它層,依賴對應層的接口,而不是實現
用repository和unit of work模式,但repository模式用EF自帶的
1、git clone此項目2、設定codeGenerate.json 3、執行此項目,並在swagger登入後,執行codeGenerate介面4、執行add-migration 5、啟動專案即可
SnailAspNetCoreFramework框架系列博客
1.框架內各項目及目錄的介紹與總設計思路-SnailAspNetCoreFramework快速開發框架
2.介面輸入校驗、輸出格式、及異常處理-SnailAspNetCoreFramework快速開發框架後端設計
3.通用權限設計-SnailAspNetCoreFramework快速開發框架後端設計
4.如何提供給前端良好的介面文件(Swagger)-SnailAspNetCoreFramework快速開發框架在後端設計
5.各場景下的快取使用-SnailAspNetCoreFramework快速開發框架後端設計
6.基於castle的AOP設計與常用快取、效能、日誌攔截器實作-SnailAspNetCoreFramework快速開發框架後端設計
7.依賴注入介紹之autofac-SnailAspNetCoreFramework快速開發框架後端設計
8.為什麼用Eventbus,怎麼用-SnailAspNetCoreFramework快速開發框架後端設計
9.日誌元件之Nlog介紹-SnailAspNetCoreFramework快速開發框架後端設計
10.Mediatr介紹-SnailAspNetCoreFramework快速開發框架後端設計
11.controller、service、dal層的通用CRUD設計-SnailAspNetCoreFramework快速開發框架後端設計
12.物件映射之利器automapper-SnailAspNetCoreFramework快速開發框架後端設計
13.如何監控ef產生的sql語句-SnailAspNetCoreFramework快速開發框架後端設計
14..net core的幾種部署方式介紹-SnailAspNetCoreFramework快速開發框架後端設計
15.即時通訊之signalr-SnailAspNetCoreFramework快速開發框架後端設計
16.如何用ef code first進行專案的資料庫版本持續迭代-SnailAspNetCoreFramework快速開發框架在後端設計
17.程式碼自動產生功能介紹-SnailAspNetCoreFramework快速開發框架後端設計
18.如何監控專案的各個功能是否正常(HealthCheck)-SnailAspNetCoreFramework快速開發框架在後端設計
19.定時任務之hangfire介紹-SnailAspNetCoreFramework快速開發框架後端設計
20.前端總體介紹-SnailAspNetCoreFramework快速開發框架之前端設計
21.再也不用跪求後端介面了(MOCK的使用)-SnailAspNetCoreFramework快速開發框架之前端設計
22.前端的權限控制-SnailAspNetCoreFramework快速開發框架之前端設計
23.如何避免重複寫入前端的CRUD程式碼(前端各種SnailXXX元件介紹與使用)-SnailAspNetCoreFramework快速開發框架前端設計
24.請求代理介紹-SnailAspNetCoreFramework快速開發框架之前端設計