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

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

相关推荐
程序员爱钓鱼几秒前
Go语言实战案例-创建模型并自动迁移
后端·google·go
javachen__5 分钟前
SpringBoot整合P6Spy实现全链路SQL监控
spring boot·后端·sql
我好喜欢你~5 小时前
C#---StopWatch类
开发语言·c#
uzong6 小时前
技术故障复盘模版
后端
GetcharZp6 小时前
基于 Dify + 通义千问的多模态大模型 搭建发票识别 Agent
后端·llm·agent
桦说编程6 小时前
Java 中如何创建不可变类型
java·后端·函数式编程
IT毕设实战小研6 小时前
基于Spring Boot 4s店车辆管理系统 租车管理系统 停车位管理系统 智慧车辆管理系统
java·开发语言·spring boot·后端·spring·毕业设计·课程设计
wyiyiyi7 小时前
【Web后端】Django、flask及其场景——以构建系统原型为例
前端·数据库·后端·python·django·flask
阿华的代码王国8 小时前
【Android】RecyclerView复用CheckBox的异常状态
android·xml·java·前端·后端
Jimmy8 小时前
AI 代理是什么,其有助于我们实现更智能编程
前端·后端·ai编程