前言
從事ASP.NET Core的童鞋都知道,服務端涉及到的知識點實在是太多了,而且每年新技術和框架不斷演進,可謂是學無止境。
國外大牛Moien Tajik精心製作了2022年度ASP.NET Core開發者指南(ASP.NET Core Developer Roadmap),採用Xmind製作,原件在此:aspnetcore-developer-roadmap.xmind
該指南的目的是爲了給讀者心有個大概的輪廓。如果你對接下來要學習的內容感到困惑時,這張路線圖將指導你,而不是鼓勵你選擇時髦的東西。你應該逐漸理解爲什麼一種工具比另一種工具更適合某些場景,並且記住時髦和新穎的東西並不總是意味着最適合這個工作。
簡體中文
文字版本
學習先決條件
- C#
- .NET 6
- Entity Framework
- Dapper
- NHibernate
- ASP.NET Core
- SQL 基礎知識
通用開發技能
- 學習GIT 並且在 GitHub 中創建與分享項目
- 掌握 HTTP(S) 協議與請求方法 (GET, POST, PUT, PATCH, DELETE, OPTIONS)
- 不要害怕使用 Google,Google搜索技巧
- 學習 dotnet CLI
- 閱讀一些關於算法和數據結構的書籍
ASP.NET Core基礎
- MVC
- REST
- Razor Pages
- Razor Components
- Middlewares
- Filters & Attributes
- Application Settings & Configurations
- Authentication
- Authorization
- IdentityServer
- Auth0
- OIDC
SOLID
- 單一責任原則 (SRP)
- 開放封閉原則 (OCP)
- 里氏替換原則 (LSP)
- 接口分離原則 (ISP)
- 依賴倒置原則 (DIP)
依賴注入
- DI容器
- Microsoft.Extensions.DependencyInjection
- AutoFac
- Ninject
- Castle Windsor
- Simple Injector
- 生命週期
- Scrutor
數據庫
- 關係型
- SQL Server
- PostgreSQL
- MariaDB
- MySQL
- 雲數據庫
- CosmosDB
- DynamoDB
- 搜索引擎
- ElasticSearch
- Solr
- Sphinx
- NoSQL
- Redis
- MongoDB
- Apache Cassandra
- LiteDB
- RavenDB
- CouchDB
緩存
- 內存緩存
- 分佈式緩存
- Redis
- StackExchange.Redis
- EasyCaching
- Memcached
- Redis
- Entity Framework 二級緩存
- EFSecondLevelCache.Core
- EntityFrameworkCore.Cacheable
日誌
- 日誌框架
- Serilog
- NLog
- 日誌管理系統
- ELK Stack
- Sentry.io
- Loggly.com
- Elmah.io
API客戶端和通信
- REST
- OData
- Sieve
- gRPC
- GraphQL
- HotChocolate
- GraphQL-dotnet
實時通信
- SignalR
- WebSockets
對象映射
- AutoMapper
- Mapster
- ExpressMapper
- AgileMapper
任務調度
- Background Service
- HangFire
- Quartz
- Coravel
測試
- 單元測試
- 框架
- xUnit
- NUnit
- MSTest
- 模擬
- Moq
- NSubstitute
- FakeItEasy
- 斷言
- FluentAssertion
- Shouldly
- 框架
- 集成測試
- WebApplicationFactory
- TestServer
- 行爲測試
- SpecFlow
- BDDfy
- LightBDD
- 端到端測試
- Selenium
- Puppeteer-Sharp
微服務
- 消息總線
- RabbitMQ
- Apache Kafka
- ActiveMQ
- Azure Service Bus
- NetMQ
- 消息隊列
- MassTransit
- NServiceBus
- EasyNetQ
- CAP
- API 網關
- Ocelot
- 容器化
- Docker
- 服務編排
- Kubernetes
- Docker Swarm
- 反向代理
- YARP
- 其他
- Orleans
- Steeltoe
- Dapr
- Tye
持續集成與部署
- Github Actions
- Azure Pipelines
- Travis CI
- Jenkins
- Circle CI
- TeamCity
設計模式
- CQRS
- Decorator
- Strategy
- Builder
- Singleton
- Facade
客戶端庫
- Blazor
模板引擎
- Razor
- DotLiquid
- Scriban
- Fluid
進一步瞭解的類庫
- MediatR
- Fluent Validation
- Polly
- Benchmark.NET
- NodaTime
- GenFu
- Swashbuckle