(1)入門MasaFramework教學

(1)入門MasaFramework教學

首先了解一下MasaFramework是什麼

最後更新 2023/3/16 下午10:50
token的技术分享
預計閱讀 3 分鐘
分類
.NET
標籤
.NET C# MASA Framework

首先了解一下 MasaFramework 是什麼?

MasaFramework 是一個基於 .Net6.0 的後端框架,可以被用於開發 Web 應用程式、WPF 專案、主控台專案。

其實就是 MasaFramework 提供了很多功能的套件,很強大,對於 Dapr 的支援非常好,如果有想嘗試 Dapr 的可以試試 MasaFramework。

然後我們開始使用 MasaFramework,進入實戰

  1. 安裝 MasaFramework 專案範本
dotnet new install Masa.Template

這樣就安裝成功了:

  1. 建立專案

打開一個目錄,打開主控台進行建立範本專案,建立一個 mfDemo 的專案範本

dotnet new masafx --name mfDemo

這樣就建立完成了,打開解決方案

  1. 專案結構解析

我們可以看到打開解決方案以後的專案結構。

專案區分 src/ApiGatewayssrc/Contractssrc/Servicessrc/Web 四層,這個時候可能就會有很多人有疑惑了,為什麼跟傳統的 Abp 架構設計有些差異,其實這個就是 MasaFramework 的框架美妙之處。

src/ApiGateways 中包含對外使用的介面實作(站長註:用戶端介面呼叫的封裝),相當於我可以直接將 src/ApiGatewayssrc/Web 的前端專案使用,這樣的好處就是減少前端專案的依賴性,並且利於介面的快速對接。

src/Contracts 中包含了基本的模型,和一些共享的東西,src/Contracts 是純粹的,沒有任何依賴,所以 src/ApiGatewayssrc/Services 都會直接依賴 src/Contracts,用於共享 Model 或其他東西。

src/Services 中就是包含了具體業務和實作,並且包含 Host,在 Application 中包含業務處理或事件處理:

如果你並未使用 MiniApi 的話應該出現的就是 Controllers:

其實建議使用 MiniApi,因為兩個實作方式不一樣,導致 MiniApi 在效能上對比 Controllers 更好。

Infrastructure 中就是專案的基礎設施了,看圖我們發現 Entity 和 Middleware,Repository,DbContext 都在基礎設施中:

MasaFramework 的設計就是簡化專案複雜,將其揉合在一個專案中,如果你剛剛使用 MasaFramework,千萬千萬不要拆分,你拆分了和 MasaFramework 本身設計就不太相符合,但是如果你是熟練的大佬,當我沒說,剛剛入門 MasaFramework 請務必使用本身框架的設計。

src/Web 就是我們的實際的前端專案了。

建立的預設範本提供的是 Blazor Server 模式的專案,可以自行拆分成三層專案 mfDemo.SharedmfDemo.ServermfDemo.WebAssembly 三層專案架構。

mfDemo.Shared 可以理解成專案的所有實作和介面檔案組織等一切功能。

mfDemo.Server 其實就是個 Blazor Server 的殼,用於託管 mfDemo.Shared 專案。

mfDemo.WebAssembly 其實也是個 Blazor WebAssembly 的殼,用於託管 mfDemo.Shared 專案。

這樣我們的專案就可以支援 Blazor Server 和 Blazor WebAssembly 兩種模式了,

結尾

透過上文我們可以基本將 MasaFramework 的專案結構瞭解清楚,也知道 MasaFramework 的設計了。

當前是 MasaFramework 的第一篇入門,我會繼續學習 MasaFramework 並且分享給大家。

來自 token 的分享

MASA Framework

學習交流:737776595

繼續探索

延伸閱讀

更多文章