(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

Keep Exploring

延伸阅读

更多文章