“作為 ASP.NET Core 開發(fā)者,我接下來應該學習什么?”,下面將介紹需要學習的東西,其中包括:依賴注入、數(shù)據(jù)庫、緩存、日志、模板引擎、實時通信、測試、任務調度、設計模式等。 免責聲明該指南的目的是為了給讀者心有個大概的輪廓。如果你對接下來要學習的內容感到困惑,這張路線圖將指導你,而不是鼓勵你選擇時髦的東西。 你應該逐漸理解為什么一種工具比另一種工具更適合某些場景,并且記住時髦和新穎的東西并不總是意味著最適合這個工作。
說明1. 先決條件- [C#](https://www./paths/csharp) - [Entity Framework](https://www./search?q=entity%20framework%20core) - [ASP.NET Core](https://www./search?q=asp.net%20core) - SQL基礎知識 2. 通用開發(fā)技能- 學習GIT, 在GitHub中創(chuàng)建開源項目 - 掌握HTTP(S)協(xié)議, 及其請求方法(GET, POST, PUT, PATCH, DELETE, OPTIONS) - 不要害怕使用 Google, [Google搜索技巧](http://www./) - 學習 [dotnet CLI](https://docs.microsoft.com/zh-cn/dotnet/core/tools) - 閱讀一些關于算法和數(shù)據(jù)結構的書籍 3. 依賴注入1. DI容器 - [Microsoft.Extensions.DependencyInjection](https://docs.microsoft.com/zh-cn/aspnet/core/fundamentals/dependency-injection) - [AutoFac](https://autofaccn./en/latest/integration/aspnetcore.html) - [Ninject](http://www./) - [StructureMap](https://github.com/structuremap/structuremap) - [Castle Windsor](https://github.com/castleproject/Windsor) 2. [生命周期](https://docs.microsoft.com/zh-cn/aspnet/core/fundamentals/dependency-injection#service-lifetimes) 3. [Scrutor](https://github.com/khellang/Scrutor) 4. 數(shù)據(jù)庫1. 關系數(shù)據(jù)庫 1. [SQL Server](https://www.microsoft.com/zh-cn/sql-server/sql-server-2017) 2. [PostgreSQL](https://www./) 3. [MariaDB](https:///) 4. [MySQL](https://www./) 2. 云數(shù)據(jù)庫 - [CosmosDB](https://docs.microsoft.com/zh-cn/azure/cosmos-db) - [DynamoDB](https://aws.amazon.com/dynamodb/) 3. 搜索引擎 - [ElasticSearch](https://www./) - [Solr](http://lucene./solr/) - [Sphinx](http:///) 4. NoSQL - [MongoDB](https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/first-mongo-app) - [Redis](https:///) - [Apache Cassandra](http://cassandra./) - [LiteDB](https://github.com/mbdavid/LiteDB) - [RavenDB](https://github.com/ravendb/ravendb) - [CouchDB](http://couchdb./) 5. 緩存1. Entity Framework 二級緩存 1. [EFSecondLevelCache.Core](https://github.com/VahidN/EFSecondLevelCache.Core) 2. [EntityFrameworkCore.Cacheable](https://github.com/SteffenMangold/EntityFrameworkCore.Cacheable) 2. [分布式緩存](https://docs.microsoft.com/en-us/aspnet/core/performance/caching/distributed) 1. [Redis](https:///) 2. [Memcached](https:///) 3. [內存緩存](https://docs.microsoft.com/en-us/aspnet/core/performance/caching/memory) 6. 日志1. 日志框架 - [Serilog](https://github.com/serilog/serilog) - [NLog](https://github.com/NLog/NLog) - [Elmah](https://elmah./) - [log4net](https://github.com/huorswords/Microsoft.Extensions.Logging.Log4Net.AspNetCore) 2. 日志管理系統(tǒng) - [Sentry.io](http://) - [Loggly.com](https://) - [Elmah.io](http://) 7. 模板引擎1. [Razor](https://docs.microsoft.com/zh-cn/aspnet/core/mvc/views/razor) 2. [DotLiquid](https://github.com/dotliquid/dotliquid) 3. [Scriban](https://github.com/lunet-io/scriban) 4. [Fluid](https://github.com/sebastienros/fluid) 8. 實時通信1. [SignalR](https://docs.microsoft.com/en-us/aspnet/core/signalr) 9. 對象映射- [AutoMapper](https://github.com/AutoMapper/AutoMapper) - [Mapster](https://github.com/MapsterMapper/Mapster) - [AgileMapper](https://github.com/agileobjects/AgileMapper) - [ExpressMapper](http:///) 10. API客戶端1. REST - [OData](https://blogs.msdn.microsoft.com/odatateam/2018/07/03/asp-net-core-odata-now-available/) - [Sieve](https://github.com/Biarity/Sieve) 2. GraphQL - [GraphQL-dotnet](https://github.com/graphql-dotnet/graphql-dotnet) 11. 最好掌握- [MediatR](https://github.com/jbogard/MediatR) - [Fluent Validation](https://github.com/JeremySkinner/FluentValidation) - [Swashbuckle](https://github.com/domaindrivendev/Swashbuckle.AspNetCore) - [Benchmark.NET](https://github.com/dotnet/BenchmarkDotNet) - [Polly](https://github.com/App-vNext/Polly) - [NodaTime](https://github.com/nodatime/nodatime) - [GenFu](https://github.com/MisterJames/GenFu) 12. 測試1. 單元測試 1. 測試框架 - [MSTest](https://docs.microsoft.com/zh-cn/dotnet/core/testing/unit-testing-with-mstest) - [NUnit](https://docs.microsoft.com/zh-cn/dotnet/core/testing/unit-testing-with-nunit) - [xUnit](https://docs.microsoft.com/zh-cn/dotnet/core/testing/unit-testing-with-dotnet-test) 2. 模擬工具 - [Moq](https://github.com/moq/moq4) - [NSubstitute](https://github.com/nsubstitute/NSubstitute) - [FakeItEasy](https://github.com/FakeItEasy/FakeItEasy) 3. 斷言工具 - [FluentAssertion](https://github.com/fluentassertions/fluentassertions) - [Shouldly](https://github.com/shouldly/shouldly) 2. 行為測試 - [BDDfy](https://github.com/TestStack/TestStack.BDDfy) - [SpecFlow](https://github.com/techtalk/SpecFlow/tree/DotNetCore) - [LightBDD](https://github.com/LightBDD/LightBDD) 3. 集成測試 - [WebApplicationFactory](https://docs.microsoft.com/en-us/aspnet/core/test/integration-tests) - [TestServer](https:///integration-testing-in-asp-net-core-2-0-51d14ede3968) 4. 端到端測試 - [Selenium](https://www./webdriver-dotnetcore2/) - [Puppeteer-Sharp](https://github.com/kblok/puppeteer-sharp) 13. 任務調度- [HangFire](https://github.com/HangfireIO/Hangfire) - [Coravel](https://github.com/jamesmh/coravel) - [Fluent Scheduler](https://github.com/fluentscheduler/FluentScheduler) 14. 微服務1. 消息隊列 - [RabbitMQ](https://www./tutorials/tutorial-one-dotnet.html) - [Apache Kafka](https://github.com/confluentinc/confluent-kafka-dotnet) - [ActiveMQ](https://github.com/apache/activemq) - [Azure Service Bus](https://docs.microsoft.com/zh-cn/azure/service-bus-messaging/service-bus-messaging-overview) 2. 消息總線 - [MassTransit](https://github.com/MassTransit/MassTransit) - [NServiceBus](https://github.com/Particular/NServiceBus) - [CAP](https://github.com/dotnetcore/CAP) 15. SOLID原則- [單一責任原則(SRP)](https://www./software-gardening/1148/solid-single-responsibility-principle) - [開放封閉原則(OCP)](https://www./software-gardening/1176/solid-open-closed-principle) - [里氏替換原則(LSP)](https://www./software-gardening/1235/liskov-substitution-principle-lsp-solid-patterns) - [依賴倒置原則(ISP)](https://www./software-gardening/1257/interface-segregation-principle-isp-solid-principle) - [接口分離原則(DIP)](https://www./software-gardening/1284/dependency-injection-solid-principles) 16. 設計模式- [CQRS](https://docs.microsoft.com/zh-cn/azure/architecture/patterns/cqrs) - [裝飾模式](https://www./net/decorator-design-pattern) - [策略模式](https://www./net/strategy-design-pattern) - [觀察者模式](https://www./net/observer-design-pattern) - [建造者模式](https://www./net/builder-design-pattern) - [單例模式](https://www./net/singleton-design-pattern) - [外觀模式](https://www./net/facade-design-pattern) - [中介者模式](https://www./net/mediator-design-pattern) 地址此文章是轉載Github上的一個項目,地址: https://github.com/MoienTajik/AspNetCore-Developer-Roadmap/blob/master/ReadMe.zh-Hans.md 。
|