(1)入門MasaFramework教程

tokengo發表於2023-03-13

(1)入門MasaFramework教程

首先了解一下MasaFramework是什麼

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

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

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

  1. 安裝MasaFramework專案模板

    dotnet new --install Masa.Template
    

    這樣就安裝成功了

  2. 建立專案

    開啟一個目錄,開啟控制檯進行建立模板專案,建立一個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,用於共享Module或其他東西,

src/Services中就是包含了具體業務和實現,並且包含Host

​ 在Application中包含業務處理或事件處理

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

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

Infrastructure中就是專案的基礎設施了,看圖我們發現EntityMiddlewareRepositoryDbContext都在基礎設施中

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

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

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

mfDemo.Shared可以理解成專案的所有實現和介面等一切功能,

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

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

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

結尾

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

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

來自token的分享

MASA Framework

學習交流:737776595

相關文章