5

(1)入门MasaFramework教程 - tokengo

 1 year ago
source link: https://www.cnblogs.com/hejiale010426/p/17209926.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

(1)入门MasaFramework教程

首先了解一下MasaFramework是什么

MasaFramework是一个基于.Net6.0的后端框架, 可以被用于开发Web应用程序、WPF项目、控制台项目

其实就是MasaFramework提供了很多功能的包,很强大,对于Dapr的支持非常好,如果有想尝试Dapr的可以试试MasaFramework

然后我们开始使用MasaFramework,进入实战

  1. 安装MasaFramework项目模板

    dotnet new --install Masa.Template
    

    这样就安装成功了

    2415052-20230313004816296-913596130.png
  2. 打开一个目录,打开控制台进行创建模板项目,创建一个mfDemo的项目模板

    dotnet new masafx --name mfDemo
    

    这样就创建完成了,打开解决方案

2415052-20230313004825384-2064605749.png

  1. 项目结构解析
    2415052-20230313004829488-1467593498.png

我们可以看到打开解决方案以后的项目结构

项目区分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中包含业务处理或事件处理

2415052-20230313004836566-254742844.png

如果你并未使用MiniApi的话应该出现的就是Controllers

2415052-20230313004840810-681657432.png

其实建议使用MiniApi,因为俩个实现方式不一样,导致MiniApi在性能上对比Controllers更好

Infrastructure中就是项目的基础设施了,看图我们发现EntityMiddlewareRepositoryDbContext都在基础设施中

2415052-20230313004848070-1313360439.png

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


Recommend

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK