iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > ASP.NET >.NET6开发TodoList应用实现结构搭建
  • 501
分享到

.NET6开发TodoList应用实现结构搭建

2024-04-02 19:04:59 501人浏览 薄情痞子
摘要

目录1.TodoList需求简介2.开发工具2.1.NET 62.2Visual Studio Code2.3Hoppscotch3.Clean Architecture简介4.搭建

往期学习:

.net 6开发TodoList应用实现系列背景

1.TodoList需求简介

首先明确一下我们即将开发的这个TodoList应用都需要完成什么功能,我不会一次性把所有的特性诸如允许用户登陆之类的需求全部写上,只是先列出最基本的功能性需求:

  • 我们可以维护一个TodoList
  • TodoList可以包含多个TodoItem
  • 对于TodoList,我们可以设置其名称
  • 对于每个TodoItem,我们可以设置其内容,超期时间,是否完成。
  • 对于所有实体,可以完成增删改查的操作。

2.开发工具

2.1.NET 6

.NET 6这个没什么好说的,按照官方说明下载安装好就可以了。

2.2Visual Studio Code

使用Visual Studio Code的原因是其免费,跨平台,功能足够用。虽然在智能补全上不如Visual StudioVisual Studio for Mac或者Rider强大,但是因为看这篇文章的你可能用不同的系统,不同的工具,所以我还是决定用所有平台都免费并且表现一致的IDE来进行演示,你可以任选一个自己已有的IDE进行开发。

当然为了顺利的使用vscode开发.NET 6 WEB api项目,有一些扩展应用也是必须要安装的,在VSCode的Extension中搜索并安装以下扩展ID:

  • ms-dotnettools.csharp - 由OmniSharp提供的VSCode开发调试C#项目的必选项。
  • ms-Azuretools.vscode-Docker - Docker扩展。

2.3Hoppscotch

大家可能对这个工具名字比较陌生,这是用于对Web API项目进行本地测试的工具。大家更熟悉Postman,而这款工具的前身叫做Postwoman,现在更名为Hoppscotch,使用Chrome内核的浏览器打开Hoppscotch后可以在地址栏上点击可用扩展标志,选择安装到本地,方便以后使用:

打开以后的界面长这样:

功能非常强大,测试Restful接口,GraphQL接口,实时通信接口websocket/SSE/Socket.IO/MQTT)都可以,而且占用资源比Postman要低很多,颜值又高还免费……简直良心。

3.Clean Architecture简介

Clean Architecture是大神Robert C. Martin在自己的博客上发表的一篇关于如何组织应用程序结构和依赖关系来实现更好的独立、解耦的多层项目结构的方式,推荐大家有时间把这篇文章好好看一下。

经过长久的实践和演化,目前我个人觉得最简洁、使用起来最舒服的Clean Architecture结构是这样的:

4.搭建解决方案结构


# 创建解决方案目录
mkdir TodoList && cd TodoList

# 创建解决方案
dotnet new sln -n TodoList

# 按照clean architecture的项目结构,创建webapi项目以及classlib项目
dotnet new webapi -f net6.0 -n TodoList.Api -o ./src/TodoList.Api
dotnet new classlib -f net6.0 -n TodoList.Application -o ./src/TodoList.Application
dotnet new classlib -f net6.0 -n TodoList.Domain -o ./src/TodoList.Domain
dotnet new classlib -f net6.0 -n TodoList.Infrastructure -o ./src/TodoList.Infrastructure

# 按照clean architecture的结构和依赖关系,设置项目间的引用
# Application只依赖于Domain
dotnet add src/TodoList.Application/TodoList.Application.csproj reference src/TodoList.Domain/TodoList.Domain.csproj
# Infrastructure只依赖于Application
dotnet add src/TodoList.Infrastructure/TodoList.Infrastructure.csproj reference src/TodoList.Application/TodoList.Application.csproj
# Api依赖于Application和Infrastructure
dotnet add src/TodoList.Api/TodoList.Api.csproj reference src/TodoList.Application/TodoList.Application.csproj
dotnet 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.csproj
dotnet sln TodoList.sln add src/TodoList.Application/TodoList.Application.csproj
dotnet sln TodoList.sln add src/TodoList.Domain/TodoList.Domain.csproj
dotnet sln TodoList.sln add src/TodoList.Infrastructure/TodoList.Infrastructure.csproj

5.运行

在终端定位到当前解决方案目录里运行:


$ dotnet restore
  Determining projects to restore...
  Restored /Users/yu.li1/Projects/asinta/blogs/cnblogs/TodoList/src/TodoList.Application/TodoList.Application.csproj (in 206 ms).
  Restored /Users/yu.li1/Projects/asinta/blogs/cnblogs/TodoList/src/TodoList.Infrastructure/TodoList.Infrastructure.csproj (in 206 ms).
  Restored /Users/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:7039
info: Microsoft.Hosting.Lifetime[14]
      Now listening on: Http://localhost:5050
info: Microsoft.Hosting.Lifetime[0]
      Application started. Press Ctrl+C to shut down.
info: Microsoft.Hosting.Lifetime[0]
      Hosting environment: Development
info: Microsoft.Hosting.Lifetime[0]
      Content root path: /Users/yu.li1/Projects/asinta/blogs/cnblogs/TodoList/src/TodoList.Api/

使用Hoppscotch使用WebAPI项目自带的WeatherForecast接口查看项目是否运行成功:

项目结构到这里就搭建完成了,我们可以删除Api项目中的示例WeatherForecast相关的文件,以及三个类库项目中的Class1.cs文件。最终的项目结构长这样:

到此这篇关于.NET 6开发TodoList应用实现结构搭建的文章就介绍到这了,更多相关.NET 6开发TodoList实现结构搭建内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: .NET6开发TodoList应用实现结构搭建

本文链接: https://www.lsjlt.com/news/160955.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • .NET6开发TodoList应用实现结构搭建
    目录1.TodoList需求简介2.开发工具2.1.NET 62.2Visual Studio Code2.3Hoppscotch3.Clean Architecture简介4.搭建...
    99+
    2024-04-02
  • .NET6开发TodoList应用之实现ActionFilter
    目录需求目标原理与思路实现验证总结需求 Filter在.NET Web API项目开发中也是很重要的一个概念,它运行在执行MVC响应的Pipeline中执行,允许我们将一些可以在多个...
    99+
    2024-04-02
  • .NET6开发TodoList应用之实现PUT请求
    目录需求目标原理与思路实现PUT请求领域事件的发布和响应验证总结需求 PUT请求本身其实可说的并不多,过程也和创建基本类似。在这篇文章中,重点是填上之前文章里留的一个坑,我们曾经给T...
    99+
    2024-04-02
  • .NET6如何开发TodoList应用
    小编给大家分享一下.NET6如何开发TodoList应用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1.TodoList需求简介首先明确一下我们即将开发的这个T...
    99+
    2023-06-22
  • .NET6开发TodoList应用之实现查询排序
    目录需求目标原理与思路实现验证总结需求 关于查询的另一个需求是要根据前端请求的排序字段进行对结果相应的排序。 目标 实现根据排序要求返回排序后的结果 原理与思路 要实现根据前端请求的...
    99+
    2024-04-02
  • .NET6开发TodoList应用之实现查询分页
    目录需求目标原理与思路实现定义分页结果数据结构添加对于分页结果的Mapping Profile创建分页查询请求创建查询Controller验证总结需求 查询中有个非常常见的需求就是后...
    99+
    2024-04-02
  • .NET6开发TodoList应用之实现数据塑形
    目录需求目标原理与思路实现定义通用接口和泛型类实现定义扩展方法添加依赖注入修改查询请求和Controller接口验证总结需求 在查询的场景中,还有一类需求不是很常见,就是在前端请求中...
    99+
    2024-04-02
  • .NET6开发TodoList应用之实现API版本控制
    目录需求目标原理与思路实现添加Nuget Package并配置服务实现API版本控制一点扩展总结需求 API接口版本管理,对于一些规模稍大的企业应用来说,是经常需要关注的一大需求。尽...
    99+
    2024-04-02
  • .NET6开发TodoList应用之使用AutoMapper实现GET请求
    目录需求目标原理与思路实现引入AutoMapper实现GET请求验证获取所有TodoList列表获取单个TodoList详情填一个POST文章里的坑总结需求 需求很简单:实现GET请...
    99+
    2024-04-02
  • .NET6开发TodoList应用之实现接口请求验证
    目录需求目标原理与思路实现验证一点扩展总结参考资料需求 在响应请求处理的过程中,我们经常需要对请求参数的合法性进行校验,如果参数不合法,将不继续进行业务逻辑的处理。我们当然可以将每个...
    99+
    2024-04-02
  • .NET6开发TodoList应用之实现全局异常处理
    目录需求目标原理和思路实现验证总结参考资料需求 因为在项目中,会有各种各样的领域异常或系统异常被抛出来,那么在Controller里就需要进行完整的try-catch捕获,并根据是否...
    99+
    2024-04-02
  • .NET6开发TodoList应用引入数据存储
    目录一.需求二.目标三.原理和思路四.实现1. 引入Nuget包并进行配置2. 添加DBContext对象并进行配置#3. 配置文件修改4. 主程序配置5. 本地运行MSSQL Se...
    99+
    2024-04-02
  • .NET 6开发TodoList应用怎么实现
    这篇文章主要介绍“.NET 6开发TodoList应用怎么实现”,在日常操作中,相信很多人在.NET 6开发TodoList应用怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”.NE...
    99+
    2023-06-22
  • .NET 6开发TodoList应用实现系列背景
    目录1.列说明2.系列导航2.1 使用.NET 6开发TodoList应用文章索引2.1.1创建项目2.1.2.NET 6 WebAPI Program.cs的变更2.1.3Chan...
    99+
    2024-04-02
  • .NET 6开发TodoList应用之实现Repository模式
    目录需求目标原理和思路实现通用Repository实现引入使用验证总结参考资料需求 经常写CRUD程序的小伙伴们可能都经历过定义很多Repository接口,分别做对应的实现,依赖注...
    99+
    2024-04-02
  • .NET 6开发TodoList应用怎么实现数据塑形
    这篇文章主要介绍“.NET 6开发TodoList应用怎么实现数据塑形”,在日常操作中,相信很多人在.NET 6开发TodoList应用怎么实现数据塑形问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对...
    99+
    2023-06-22
  • .NET 6开发TodoList应用怎么实现查询排序
    这篇文章主要讲解了“.NET 6开发TodoList应用怎么实现查询排序”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“.NET 6开发TodoList应用怎么实现查询排序...
    99+
    2023-06-22
  • .NET 6开发TodoList应用之如何实现PUT请求
    这篇文章将为大家详细讲解有关.NET 6开发TodoList应用之如何实现PUT请求,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。需求PUT请求本身其实可说的并不多,过程也和创建基本类似。在这篇...
    99+
    2023-06-22
  • .NET 6开发TodoList应用之使用MediatR实现POST请求
    目录需求目标原理与思路CQRS模式中介者Mediator模式MediatR实现引入MediatR实现Post请求验证创建TodoList验证创建TodoItem验证总结参考资料需求 ...
    99+
    2024-04-02
  • 使用.NET 6开发TodoList应用之领域实体创建原理和思路
    需求 上一篇文章中我们完成了数据存储服务的接入,从这一篇开始将正式进入业务逻辑部分的开发。 首先要定义和解决的问题是,根据TodoList项目的需求,我们应该设计怎样的数据实体,如何...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作