前言
本指南的目的是为那些希望在 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)
- ELK Stack
- Seq
- Sentry.io
- 云部署(Cloud)
- Datadog
- Sentry.io 追踪(Tracing)
- 本地部署(On-Premises)
- OpenTelemetry
- Jaeger
- Zipkin
- Sentry.io
- 云部署(Cloud)
- Datadog
- Sentry.io 告警(Alerting)
- 本地部署(On-Premises)
- Zabbix
- Alertmanager
- 云部署(Cloud)
- Datadog
客户端 .NET(Client-Side .NET)
模板引擎(Template Engines)
-
Razor
-
Scriban
-
Fluid
框架(Frameworks)
-
Blazor
-
.NET MAUI
实用库
-
Swashbuckle
-
MediatR
-
Fluent Validation
-
Polly
-
Distributed Lock
-
EF Core Bulk Extensions
-
Nuke Build
-
Marten
总结
通过本指南的学习,可以掌握ASP.NET Core 的基本概念和技术栈,并且具备了构建现代化 Web 应用的能力。
从基础的 C# 编程到复杂的微服务架构,从简单的 HTTP 请求到高性能的缓存机制,再到全面的测试策略,每一个知识点都在增强我们的开发技能。
希望这份指南不仅为大家提供一个全面的学习框架,同时也激发了我们继续探索和学习的兴趣。请记住,学习是一个持续的过程,保持好奇心和实践精神是成为优秀开发者的秘诀。
最后
如果你觉得这篇文章对你有帮助,不妨点个赞支持一下!你的支持是我继续分享知识的动力。如果有任何疑问或需要进一步的帮助,欢迎随时留言。
也可以加入微信公众号 [DotNet技术匠] 社区,与其他热爱技术的同行一起交流心得,共同成长!
优秀是一种习惯,欢迎大家留言学习!
作者:MoienTajik
出处:github.com/MoienTajik/AspNetCore-Developer-Roadmap
声明:网络内容,仅供学习,尊重版权,侵权速删,歉意致谢!