往期学习:
.net 6开发todolist应用实现系列背景
首先明确一下我们即将开发的这个todolist
应用都需要完成什么功能,我不会一次性把所有的特性诸如允许用户登陆之类的需求全部写上,只是先列出最基本的功能性需求:
todolist
。todolist
可以包含多个todoitem
。对于todolist
,我们可以设置其名称对于每个todoitem
,我们可以设置其内容,超期时间,是否完成。对于所有实体,可以完成增删改查的操作。 .net 6这个没什么好说的,按照官方说明下载安装好就可以了。
使用visual studio code
的原因是其免费,跨平台,功能足够用。虽然在智能补全上不如visual studio
、visual studio for mac
或者rider
强大,但是因为看这篇文章的你可能用不同的系统,不同的工具,所以我还是决定用所有平台都免费并且表现一致的ide来进行演示,你可以任选一个自己已有的ide进行开发。
当然为了顺利的使用vscode
开发.net 6 web api项目,有一些扩展应用也是必须要安装的,在vscode的extension中搜索并安装以下扩展id:
ms-dotnettools.csharp
– 由omnis
harp提供的vscode
开发调试c#项目的必选项。ms-azuretools.vscode-docker
– docker
扩展。 大家可能对这个工具名字比较陌生,这是用于对web api
项目进行本地测试的工具。大家更熟悉postman,而这款工具的前身叫做postwoman
,现在更名为hoppscotch
,使用chrome
内核的浏览器打开hoppscotch
后可以在地址栏上点击可用扩展标志,选择安装到本地,方便以后使用:
打开以后的界面长这样:
功能非常强大,测试restful
接口,graphql
接口,实时通信接口(websocket/s/socket.io/mqtt)
都可以,而且占用资源比postman
要低很多,颜值又高还免费……简直良心。
clean architecture
是大神robert c. martin
在自己的博客上发表的一篇关于如何组织应用程序结构和依赖关系来实现更好的独立、解耦的多层项目结构的方式,推荐大家有时间把这篇文章好好看一下。
经过长久的实践和演化,目前我个人觉得最简洁、使用起来最舒服的clean architecture
结构是这样的:
# 创建解决方案目录mkdir todolist && cd todolist# 创建解决方案dotnet new sln -n todolist# 按照clean architecture的项目结构,创建webapi项目以及classlib项目dotnet new webapi -f ne好好先生影评t6.0 -n todolist.api -o ./src/todolist.apidotnet new classlib -f net6.0 -n todolist.application -o ./src/todolist.applicationdotnet new classlib -f net6.0 -n todolist.domain -o ./src/todolist.domaindotnet new classlib -f net6.0 -n todolist.infrastructure -o ./src/todolist.infrastructure# 按照clean architecture的结构和依赖关系,设置项目间的引用# application只依赖于domaindotnet add src/todolist.application/todolist.application.csproj reference src/todolist.domain/todolist.domain.csproj# infrastructure只依赖于applicationdotnet add src/todolist.infrastructure/todolist.infrastructure.csproj reference src/todolist.application/todolist.application.csproj# api依赖于application和infrastructuredotnet add src/todolist.api/todolist.api.csproj reference src/todolist.application/todolist.application.csprojdotnet add src/todolist.api/todolist.api.csproj reference src/todolist.infrastructure/todolist.infrastructure.csproj# 将所有项目添加到sln上dotnet sln todolist.sln add src/todolist.api/todolist.api.csprojdotnet sln todolist.sln add src/todolist.application/todolist.application.csprojdotnet sln todolist.sln add src/todolist.domain/todolist.domain.csprojdotnet sln todolist.sln add src/todolist.infrastructure/todolist.infrastructure.csproj
在终端定位到当前解决方案目录里运行:
$ dotnet restore determining projects to restore... restored /urs/yu.li1/projects/asinta/blogs/cnblogs/todolist/src/todolist.application/todolist.女人微信名字application.csproj (in 206 ms). restor碳和浓硝酸ed 爱国人士有哪些/urs/yu.li1/projects/asinta/blogs/cnblogs/todolist/src/todolist.infrastructure/todolist.infrastructure.csproj (in 206 ms). restored /urs/yu.li1/projects/asinta/blogs/cnblogs/todolist/src/todolist.api/todolist.api.csproj (in 306 ms). 1 of 4 projects are up-to-date for restore.$ dotnet run --project src/todolist.api/todolist.api.csproj building...info: microsoft.hosting.lifetime[14] now listening on: https://localhost:7039info: microsoft.hosting.lifetime[14] now listening on: http://localhost:5050info: microsoft.hosting.lifetime[0] application started. press ctrl+c to shut down.info: microsoft.hosting.lifetime[0] hosting environment: developmentinfo: microsoft.hosting.lifetime[0] cont航空学校招生要求ent root path: /urs/yu.li1/projects/asinta/blogs/cnblogs/todolist/src/todolist.api/
使用hoppscotch使用webapi项目自带的weatherforecast接口查看项目是否运行成功:
项目结构到这里就搭建完成了,我们可以删除api项目中的示例weatherforecast
相关的文件,以及三个类库项目中的class1.cs文件。最终的项目结构长这样:
到此这篇关于.net 6开发todolist应用实现结构搭建的文章就介绍到这了,更多相关.net 6开发todolist实现结构搭建内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!
本文发布于:2023-04-04 12:27:15,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/15bf628a0af735b8ecf3a2e58672f0a1.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:.NET 6开发TodoList应用实现结构搭建.doc
本文 PDF 下载地址:.NET 6开发TodoList应用实现结构搭建.pdf
留言与评论(共有 0 条评论) |