联系请关注微信公众号:Dotnet9
创建于2023-03-16 22:50:32| token的技术分享| 我要编辑、留言
(1)入门MasaFramework教程

AI文章总结

首先了解一下 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

网站统计
网站创建
5年
文章分类
23个
文章总计
482篇
文章原创
105篇(21.78%)