(2)MasaFramework入門第二篇,安裝MasaFramework了解各個模板

(2)MasaFramework入門第二篇,安裝MasaFramework了解各個模板

安裝MasaFramework了解各個模板

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

安裝 MasaFramework 範本

執行以下命令安裝最新 Masa 的範本

dotnet new install Masa.Template

安裝完成將出現四個範本

Masa Blazor App

Masa Blazor App 的範本建立的是沒有攜帶解決方案的專案範本,預設專案結構如圖:

一個簡單的 Masa Blazor Server 專案。

Masa Blazor Pro Web

Masa Blazor Pro Web 的範本建立類型有多種:

  • Wasm 就是單純的 Wasm 模式。
  • Wasm-Host 就是啟動一個 Server 託管 Wasm。
  • Wasm-PWA 支援瀏覽器安裝。
  • Server 就是單純的 Blazor Server 模式。
  • ServerAndWasm 是提供一個 razor 類別庫作為介面,支援 Blazor Server 和 Blazor Wasm 兩種模式。

對於上面五種模式更推薦第五種模式,這樣就可以在部署的時候部署 Blazor Server 和 Blazor Wasm 兩種模式,可讓使用者自行切換,剖析以下 Masa Blazor Pro Web 的專案結構:

MasaWebPro1 專案就是 Razor 類別庫,提供介面邏輯和實際業務。

MasaWebPro1.Server 專案就只是以 Blazor Server 模式託管 MasaWebPro1 專案的介面。

MasaWebPro1.WebAssembly 專案就只是以 Blazor WebAssembly 模式託管 MasaWebPro1 專案的介面。

執行專案將得到一個精美的專案範本:

可對其修改進行二次開發,也可以將 Pro 和 MasaFramework 結合一起使用。

Masa Blazor Website

Masa Blazor Website 專案結構:

Masa Blazor Website 算是舊版本的文件站點的範本,簡單描述一下,預設使用了全球化。

Masa Framework Project

Masa Framework Project 就是我們的主角了。

需要使用 MasaFramework 的同志們就需要建立這個範本了,之前的範本都是單純的 Blazor。

當我們建立 MasaFramework 的時候存在多個選項:

  • Use Controllers:使用控制器啟用以後不使用 MiniApis(更推薦使用 MiniApis)
  • Enable OpenAPI Support:其實是否預設使用 Swagger
  • Add Dapr Support:添加 Dapr 的支援
  • Use Dapr Actor:使用 Dapr Actor
  • Add Authorization An Authentication:添加授權和認證
  • Add Fluent Validation Middleware:添加驗證中介軟體

分別講解一下 Choice Add Service Project and Mode 的 Basic,Cqrs,Ddd,Cqrs&Ddd 四個專案範本,Choice Add Web Project 其實就是 Blazor 的託管模式:

Basic:

一個最基本的 MasaFramework 的專案結構。

Cqrs:

MasaFramework 的 Cqrs 結構,對比基本的 MasaFramework 專案來說有些差異的。

小知識:CQRS(Command Query Responsibility Segregation)是一種架構模式,它將讀取操作和寫入操作分離。CQRS 的基本思想是將讀取操作和寫入操作分離,這樣可以最佳化系統效能和可擴充性。CQRS 還提供了一種簡單的方法來實現事件驅動架構(Event-Driven Architecture),這種架構可以讓系統更加靈活和可擴充。

Ddd:

MasaFramework 的 Ddd 專案和基本範本的差異也很明顯。

小知識:DDD(Domain Driven Design)是一種軟體開發方法論,它強調在設計應用程式時,要將業務領域的概念和業務規則放在首位,而不是技術實作。DDD 的目標是讓開發人員更好地理解和實現複雜的業務需求。

Cqrs&Ddd:

Cqrs&Ddd 整合了 Cqrs 和 Ddd 兩個專案範本的特性,是一個稍微複雜的框架。

小知識:DDD 和 CQRS 通常一起使用,因為它們的目標是相同的:將業務領域的概念和業務規則放在首位,並將技術實作放在其次。在使用 DDD 和 CQRS 時,開發人員通常會將業務邏輯和資料存取邏輯分離,這樣可以更好地管理程式碼和維護系統。

DDD 和 CQRS 是兩種不同的方法論,但它們都強調將業務需求放在首位,並將技術實作放在其次。如果您正在開發複雜的應用程式,那麼使用 DDD 和 CQRS 可能會對您有所幫助。

專案使用

如果你想使用 MasaFramework 的話,可以將 Masa Pro 的範本和 MasaFramework 的範本結合起來一起使用:

這是我目前使用到 MasaFramework 的專案,Web 是將 Pro 的範本嵌入進來,並進行修改,目前專案還在完善,這也是我第一個接觸 MasaFramework 實踐的專案,因為符合我需要的,體積小,依賴少。

結尾

來自 token 的分享

技術交流群:737776595

MasaFramework 學習地址:MASA Framework

繼續探索

延伸閱讀

更多文章