MongoDB从入门到实战之.NET Core使用MongoDB开发ToDoList系统(1)-后端项目框架搭建
<h2>前言:</h2><p> 前面的四个章节我们主要讲解了MongoDB的相关基础知识,接下来我们就开始进入使用.NET7操作MongoDB开发一个<span class="repo" title="YyFlight.ToDoList">ToDoList系统实战教程。本章节主要介绍的是如何快熟搭建一个简单明了的后端项目框架。</span></p>
<h2>MongoDB从入门到实战的相关教程</h2>
<p>MongoDB从入门到实战之MongoDB简介👉</p>
<p>MongoDB从入门到实战之MongoDB快速入门👉</p>
<p>MongoDB从入门到实战之Docker快速安装MongoDB👉</p>
<p>MongoDB从入门到实战之MongoDB工作常用操作命令👉</p>
<p>MongoDB从入门到实战之.NET Core使用MongoDB开发ToDoList系统(1)-后端项目框架搭建👉</p>
<h2>YyFlight.ToDoList项目源码地址</h2>
<p><span style="color: rgba(255, 0, 0, 1)"><strong>欢迎各位看官老爷review,有帮助的别忘了给我个Star哦💖!!!</strong></span></p>
<blockquote>
<p>GitHub地址:https://github.com/YSGStudyHards/YyFlight.ToDoList</p>
</blockquote>
<h2>为什么选择ASP.NET Core?</h2>
<p> 首先请你不要再停留在ASP.NET 4.x时代了,不要一听到.NET就是性能不行、不能跨平台、拖控件等等各种诟病。首先ASP.NET Core是对 ASP.NET 4.x 的重新设计(包括体系结构上的更改),是一个跨平台的高性能、精简、模块化、更支持云原生的开源框架。</p>
<h3>ASP.NET Core 具有如下优点:</h3>
<ul>
<li>生成 Web UI 和 Web API 的统一场景。</li>
<li>针对可测试性进行构建。</li>
<li>Razor Pages 可以使基于页面的编码方式更简单高效。</li>
<li>Blazor 允许在浏览器中使用 C# 和 JavaScript。 共享全部使用 .NET 编写的服务器端和客户端应用逻辑。</li>
<li>能够在 Windows、macOS 和 Linux 上进行开发和运行。</li>
<li>开放源代码和以社区为中心。</li>
<li>集成新式客户端框架和开发工作流。</li>
<li>支持使用 gRPC 托管远程过程调用 (RPC)。</li>
<li>基于环境的云就绪配置系统。</li>
<li>内置依赖项注入。</li>
<li>轻型的高性能模块化 HTTP 请求管道。</li>
<li>能够托管于以下各项:
<ul>
<li>Kestrel</li>
<li>IIS</li>
<li>HTTP.sys</li>
<li>Nginx</li>
<li>Apache</li>
<li>Docker</li>
</ul>
</li>
<li>并行版本控制。</li>
<li>简化新式 Web 开发的工具。</li>
</ul>
<h4>各大编程语言性能测试结果的可视化图表:</h4>
<blockquote>
<p>开发者根据 The Benchmarks Game 的测试数据制作了一份可视化图表,如下所示,灰色反映的是时间效率,越短代表性能越好,棕色则是基于执行时间和内存开销的加权值。</p>
<p>可视化图表来源:https://www.oschina.net/news/201120/programming-language-benchmarks</p>
</blockquote>
<p><img src="https://img2022.cnblogs.com/blog/1336199/202207/1336199-20220704235644644-2003716800.png" alt="" class="medium-zoom-image" loading="lazy"></p>
<h2>Visual Studio 2022 IDE下载</h2>
<blockquote>
<p>没有下载代码编辑器的同学可以通过以下链接下载:https://visualstudio.microsoft.com/zh-hans/downloads/</p>
</blockquote>
<p><img src="https://img2023.cnblogs.com/blog/1336199/202301/1336199-20230102223937305-1815577325.png" alt="" loading="lazy"></p>
<h2 dir="auto">YyFlight.ToDoList应用分层</h2>
<p><img src="https://img2023.cnblogs.com/blog/1336199/202306/1336199-20230629231006259-1671942463.png" alt="" loading="lazy"></p>
<p><strong>表现层(WebApi):</strong></p>
<blockquote>
<p dir="auto">为用户提供接口,实现应用层与用户的交互。</p>
</blockquote>
<p><strong>应用层(Application):</strong></p>
<blockquote>
<p dir="auto">业务代码主要编写层,表示层与领域层的桥梁。</p>
</blockquote>
<p><strong>仓储层(Repository):</strong></p>
<blockquote>
<p dir="auto">数据访问的封装,通过隔离具体的存储层技术来实现保证业务逻辑的稳定性。</p>
</blockquote>
<p><strong>基础设施层(Infrastructure):</strong></p>
<blockquote>
<p dir="auto">为其它各层提供通用的技术和基础服务,包括第三方工具、驱动、消息中间件、网关、文件、缓存以及数据库等。</p>
</blockquote>
<h2>新建YyFlight.ToDoList项目解决方案</h2>
<p><img src="https://img2023.cnblogs.com/blog/1336199/202301/1336199-20230102230240437-979385836.png" alt="" loading="lazy"></p>
<p><img src="https://img2023.cnblogs.com/blog/1336199/202301/1336199-20230102230353116-1160819639.png" alt="" loading="lazy"></p>
<p> </p>
<p> <img src="https://img2023.cnblogs.com/blog/1336199/202301/1336199-20230102230435690-1926172913.png" alt="" loading="lazy"></p>
<h2> 项目对外接口WebApi创建</h2>
<p><img src="https://img2023.cnblogs.com/blog/1336199/202301/1336199-20230102230710126-1427198643.png" alt="" loading="lazy"></p>
<p> <img src="https://img2023.cnblogs.com/blog/1336199/202301/1336199-20230102230740331-12879585.png" alt="" loading="lazy"></p>
<p><img src="https://img2023.cnblogs.com/blog/1336199/202301/1336199-20230102233551124-754410514.png" alt="" loading="lazy"></p>
<h2>项目Application应用层创建</h2>
<p><img src="https://img2023.cnblogs.com/blog/1336199/202301/1336199-20230102233811005-1187731757.png" alt="" loading="lazy"></p>
<p> </p>
<p> <img src="https://img2023.cnblogs.com/blog/1336199/202301/1336199-20230102233835976-465986903.png" alt="" loading="lazy"></p>
<p> </p>
<p> <img src="https://img2023.cnblogs.com/blog/1336199/202301/1336199-20230102233855195-1693652965.png" alt="" loading="lazy"></p>
<h2>项目Repository仓储层创建</h2>
<p><img src="https://img2023.cnblogs.com/blog/1336199/202301/1336199-20230102234009535-1020718973.png" alt="" loading="lazy"></p>
<p> </p>
<p> <img src="https://img2023.cnblogs.com/blog/1336199/202301/1336199-20230102234035532-1355112122.png" alt="" loading="lazy"></p>
<p> </p>
<p> <img src="https://img2023.cnblogs.com/blog/1336199/202301/1336199-20230102234047733-1460165985.png" alt="" loading="lazy"></p>
<h2>项目Infrastructure基础设置层创建</h2>
<p><img src="https://img2023.cnblogs.com/blog/1336199/202301/1336199-20230102234202685-1917398772.png" alt="" loading="lazy"></p>
<p> </p>
<p> <img src="https://img2023.cnblogs.com/blog/1336199/202301/1336199-20230102234225984-1102767485.png" alt="" loading="lazy"></p>
<p> </p>
</div>
<div id="MySignature" role="contentinfo">
<blockquote >
<p style='font-family:YouYuan;font-size: 16px;margin: 0 auto 0.01em auto;'><span style='font-size: 17px; '>作者名称:</span>追逐时光者</p>
<p style='font-family:YouYuan;font-size: 16px;margin: 0 auto 0.01em auto;'><span style='font-size: 17px; '>作者简介:</span>一个热爱编程、善于分享、喜欢学习、探索、尝试新事物和新技术的全栈软件工程师。</p>
<p style='font-family:YouYuan;font-size: 16px;margin: 0 auto 0.01em auto;'>
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。如果该篇文章对您有帮助的话,可以点一下右下角的【♥推荐♥】,希望能够持续的为大家带来好的技术文章,文中可能存在描述不正确的地方,欢迎指正或补充,不胜感激。
</p>
</blockquote><br><br>
来源:https://www.cnblogs.com/Can-daydayup/p/17020707.html
頁:
[1]