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

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

相关推荐
超爱吃士力架1 小时前
邀请逻辑
java·linux·后端
AskHarries3 小时前
Spring Cloud OpenFeign快速入门demo
spring boot·后端
向宇it4 小时前
【从零开始入门unity游戏开发之——C#篇25】C#面向对象动态多态——virtual、override 和 base 关键字、抽象类和抽象方法
java·开发语言·unity·c#·游戏引擎
数据的世界014 小时前
.NET开发人员学习书籍推荐
学习·.net
isolusion4 小时前
Springboot的创建方式
java·spring boot·后端
zjw_rp5 小时前
Spring-AOP
java·后端·spring·spring-aop
TodoCoder5 小时前
【编程思想】CopyOnWrite是如何解决高并发场景中的读写瓶颈?
java·后端·面试
向宇it5 小时前
【从零开始入门unity游戏开发之——C#篇24】C#面向对象继承——万物之父(object)、装箱和拆箱、sealed 密封类
java·开发语言·unity·c#·游戏引擎
paixiaoxin6 小时前
CV-OCR经典论文解读|An Empirical Study of Scaling Law for OCR/OCR 缩放定律的实证研究
人工智能·深度学习·机器学习·生成对抗网络·计算机视觉·ocr·.net
凌虚6 小时前
Kubernetes APF(API 优先级和公平调度)简介
后端·程序员·kubernetes