2024 年 ASP.NET Core 学习指南

前言

本指南的目的是为那些希望在 2024 年深入学习 ASP.NET Core 的开发者们提供一条清晰的学习路径。

我们的目标是让您不仅能够理解 ASP.NET Core 的核心概念,还能熟练运用这些知识解决实际问题。通过本指南,将逐步理解为什么一种工具比另一种更适合特定场景,并且认识到,时髦的技术并不总是最适合的选择。

路线图

学习资源

通用开发技能

  • 学习 Git:在 GitHub 上创建几个仓库,与他人共享代码。

  • 了解 HTTP(S) 协议:请求方法(GET、POST、PUT、PATCH、DELETE、OPTIONS 等)。

  • TLS 和 SSL:了解传输层安全和安全套接层的基本概念。

  • 使用 Google 进行强力搜索:解决遇到的问题。

  • 开始使用 ChatGPT:辅助学习和解决问题。

  • 阅读算法和数据结构书籍:提升编程基础能力。

C#

  • C# 12:最新版本的语言特性。

  • .NET 8:最新版本的框架特性。

  • .NET CLI:命令行工具。

  • StyleCop 规则:代码风格规范。

  • SQL 基础知识:数据库操作基础。

教程

  • Pluralsight 学习路径:使用 T-SQL 查询 SQL Server 数据。

ASP.NET Core 基础

  • MVC:模型-视图-控制器模式。

  • Minimal APIs:轻量级 API 开发。

  • REST:表述性状态转移风格。

  • Application Settings & Configurations:配置管理。

  • Middlewares:中间件。

  • Filters & Attributes:过滤器和属性。

  • Authentication:身份验证。

  • Authorization:授权。

  • IdentityServer:身份验证服务。

  • Duende IdentityServer:高级身份验证服务。

  • OpenIddict:开源身份验证服务。

  • Auth0:商业身份验证服务。

  • OIDC:开放式身份认证协议。

  • Razor Pages:页面框架。

  • Razor Components:组件框架。

五个面向对象设计原则(SOLID)

  • Single Responsibility Principle (SRP):单一职责原则。

  • Open-Closed Principle (OCP):开闭原则。

  • Liskov Substitution Principle (LSP):里氏替换原则。

  • Interface Segregation Principle (ISP):接口隔离原则。

  • Dependency Inversion Principle (DIP):依赖倒置原则。

面向对象关系映射(ORM)

  • Entity Framework Core:主流 ORM 框架。

  • Dapper:轻量级 ORM 工具。

依赖注入(Dependency Injection)

  • 依赖注入容器(DI Containers):管理依赖。

  • Microsoft.Extensions.DependencyInjection:内置 DI 容器。

  • AutoFac:第三方 DI 容器。

  • Scrutor:扩展 DI 功能。

数据库(Databases)

关系数据库(Relational)

  • SQL Server

  • PostgreSQL

  • MariaDB

  • MySQL

搜索引擎(Search Engines)

  • ElasticSearch

  • Meilisearch

  • ManticoreSearch

  • OpenSearch

NoSQL

  • Redis

  • MongoDB

  • Apache Cassandra

  • LiteDB

  • RavenDB

  • CouchDB

云部署(Cloud)

  • CosmosDB

  • DynamoDB

缓存(Caching)

  • 内存缓存(Memory Cache)

  • 分布式缓存(Distributed Cache)

Redis

StackExchange.Redis

EasyCaching

Memcached

  • 应用程序级缓存(Application-Level)

  • 响应缓存(Response Caching)

  • 输出缓存(Output Caching)

  • Entity Framework 二级缓存(Entity Framework 2nd Level Cache)

日志框架(Log Frameworks)

  • Serilog

  • NLog

API 客户端与通信(API Clients & Communications)

  • REST

  • Gridify

  • OData

  • REPR 模式(REPR Pattern)

  • Minimal APIs

  • Ardalis.Endpoints

  • Fast Endpoints

  • gRPC

  • GraphQL

HotChocolate

GraphQL-dotnet

实时通信(Real-Time Communication)

  • SignalR

  • WebSockets

对象映射(Object Mapping)

  • Manual mapping!

  • Mapperly

  • AutoMapper

后台任务调度器(Background Task Scheduler)

  • Native BackgroundService

  • HangFire

  • Quartz

  • Coravel

测试(Testing)

单元测试(Unit Testing)

框架(Frameworks)

  • xUnit

  • NUnit

  • MSTest

模拟(Mocking)

  • Moq

  • NSubstitute

  • FakeItEasy

断言(Assertion)

-FluentAssertion

假数据生成器(Fake Data Generators)

  • Bogus

  • AutoFixture

集成测试(Integration Testing)

  • WebApplicationFactory

  • .NET Aspire

  • Test Containers

  • Respwan

快照测试(Snapshot Testing)

  • Verify

行为测试(Behavior Testing)

  • SpecFlow

端到端测试(E2E Testing)

  • Selenium

  • Puppeteer-Sharp

性能测试(Performance Testing)

  • K6

  • JMeter

  • Crank

  • Bombardier

架构测试(Architecture Testing)

  • ArchUnitNET

  • NetArchTest

微服务(Microservices)

消息代理(Message-Broker)

  • RabbitMQ

  • Apache Kafka

  • Azure Service Bus

  • Amazon SQS

  • NetMQ

消息总线(Message-Bus)

  • MassTransit

  • NServiceBus

  • EasyNetQ

API 网关(API Gateway)

  • Ocelot

  • YARP

容器化(Containerization)

  • Docker

  • Podman

编排(Orchestration)

  • Kubernetes

  • Rancher

  • Kubectl

  • K9s

其他

  • .NET Aspire

  • Orleans

  • Proto.Actor

  • Dapr

持续集成与交付(自动化)

  • GitHub Actions

  • Azure Pipelines

  • GitLab CI/CD

  • TeamCity CI/CD

设计模式(Design Patterns)

  • 创建型(Creational)

  • 结构型(Structural)

  • 行为型(Behavioral)

监控/日志记录/追踪/告警(Monitoring/Logging/Tracing/Alerting)

监控(Monitoring)

  • 本地部署(On-Premises)
    • Prometheus
    • Grafana
  • 云部署(Cloud)
    • Datadog 日志记录(Logging)
  • 本地部署(On-Premises)
  • 云部署(Cloud)
  • 本地部署(On-Premises)
  • 云部署(Cloud)
  • 本地部署(On-Premises)
    • Zabbix
    • Alertmanager
  • 云部署(Cloud)
    • Datadog

客户端 .NET(Client-Side .NET)

模板引擎(Template Engines)

  • Razor

  • Scriban

  • Fluid

框架(Frameworks)

  • Blazor

  • .NET MAUI

实用库

  • Swashbuckle

  • MediatR

  • Fluent Validation

  • Polly

  • Benchmark.NET

  • Distributed Lock

  • EF Core Bulk Extensions

  • Nuke Build

  • Marten

总结

通过本指南的学习,可以掌握ASP.NET Core 的基本概念和技术栈,并且具备了构建现代化 Web 应用的能力。

从基础的 C# 编程到复杂的微服务架构,从简单的 HTTP 请求到高性能的缓存机制,再到全面的测试策略,每一个知识点都在增强我们的开发技能。

希望这份指南不仅为大家提供一个全面的学习框架,同时也激发了我们继续探索和学习的兴趣。请记住,学习是一个持续的过程,保持好奇心和实践精神是成为优秀开发者的秘诀。

最后

如果你觉得这篇文章对你有帮助,不妨点个赞支持一下!你的支持是我继续分享知识的动力。如果有任何疑问或需要进一步的帮助,欢迎随时留言。

也可以加入微信公众号 [DotNet技术匠] 社区,与其他热爱技术的同行一起交流心得,共同成长!

优秀是一种习惯,欢迎大家留言学习!

作者:MoienTajik

出处:github.com/MoienTajik/AspNetCore-Developer-Roadmap

声明:网络内容,仅供学习,尊重版权,侵权速删,歉意致谢!

相关推荐
向宇it4 小时前
【unity小技巧】unity 什么是反射?反射的作用?反射的使用场景?反射的缺点?常用的反射操作?反射常见示例
开发语言·游戏·unity·c#·游戏引擎
九鼎科技-Leo4 小时前
什么是 WPF 中的依赖属性?有什么作用?
windows·c#·.net·wpf
qq_17448285754 小时前
springboot基于微信小程序的旧衣回收系统的设计与实现
spring boot·后端·微信小程序
锅包肉的九珍5 小时前
Scala的Array数组
开发语言·后端·scala
心仪悦悦5 小时前
Scala的Array(2)
开发语言·后端·scala
Heaphaestus,RC5 小时前
【Unity3D】获取 GameObject 的完整层级结构
unity·c#
2401_882727575 小时前
BY组态-低代码web可视化组件
前端·后端·物联网·低代码·数学建模·前端框架
baivfhpwxf20235 小时前
C# 5000 转16进制 字节(激光器串口通讯生成指定格式命令)
开发语言·c#
直裾6 小时前
Scala全文单词统计
开发语言·c#·scala
心仪悦悦6 小时前
Scala中的集合复习(1)
开发语言·后端·scala