ASP.NET Core开发者成长路线图(转载)
转载: https://www.cnblogs.com/enjoy233/p/AspNetCore_developer_roadmap.html
github: https://github.com/dot-nethub/AspNetCore-Developer-Roadmap
ASP.NET Core开发者路线图RoadMap
来源:
MoienTajik/AspNetCore-Developer-Roadmap.
2019年
ASP.NET Core开发者指南:
你可以在下面找到一张图,该图展示了你可以选取的路径及你想学习的库,从而成为一名 ASP.NET Core 开发者。“作为 ASP.NET Core 开发者,我接下来应该学习什么?”,我把这张图作为建议给每个问过我这一问题的人。
此外,本人还写了一篇相关的文章
.Net开发者必知的技术类RSS订阅指南.
免责声明
该指南的目的是为了给读者心有个大概的轮廓。如果你对接下来要学习的内容感到困惑,这张路线图将指导你,而不是鼓励你选择时髦的东西。
你应该逐渐理解为什么一种工具比另一种工具更适合某些场景,并且记住时髦和新颖的东西并不总是意味着最适合这个工作。
请给一个星星! ⭐
如果你喜欢或正在使用这个项目进行学习或引用在你的解决方案中,请给它一个星星。谢谢!
路线图
资源
-
先决条件
* [C#](https://www.pluralsight.com/paths/csharp)
- Entity Framework
- ASP.NET Core
- SQL基础知识
-
通用开发技能
* 学习GIT, 在GitHub中创建开源项目
- 掌握HTTP(S)协议, 及其请求方法(GET, POST, PUT, PATCH, DELETE, OPTIONS)
- 不要害怕使用 Google,
Google搜索技巧 - 学习
dotnet CLI - 阅读一些关于算法和数据结构的书籍
-
依赖注入
1. DI容器 * [Microsoft.Extensions.DependencyInjection](https://docs.microsoft.com/zh-cn/aspnet/core/fundamentals/dependency-injection?view=aspnetcore-2.2) * [AutoFac](https://autofaccn.readthedocs.io/en/latest/integration/aspnetcore.html) * [Ninject](http://www.ninject.org/) * [StructureMap](https://github.com/structuremap/structuremap) * [Castle Windsor](https://github.com/castleproject/Windsor)
-
数据库
1. 关系数据库 1. [SQL Server](https://www.microsoft.com/zh-cn/sql-server/sql-server-2017) 2. [PostgreSQL](https://www.postgresql.org/) 3. [MariaDB](https://mariadb.org/) 4. [MySQL](https://www.mysql.com/)
-
云数据库
* [CosmosDB](https://docs.microsoft.com/zh-cn/azure/cosmos-db)
-
搜索引擎
* [ElasticSearch](https://www.elastic.co/)
-
NoSQL
* [MongoDB](https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/first-mongo-app?view=aspnetcore-2.2&tabs=visual-studio)
-
-
缓存
1. 实体框架二级缓存 1. [EFSecondLevelCache.Core](https://github.com/VahidN/EFSecondLevelCache.Core) 2. [EntityFrameworkCore.Cacheable](https://github.com/SteffenMangold/EntityFrameworkCore.Cacheable)
-
日志
1. 日志框架 * [Serilog](https://github.com/serilog/serilog) * [NLog](https://github.com/NLog/NLog) * [Elmah](https://elmah.github.io/)
-
日志管理系统
* [Sentry.io](http://sentry.io)
-
-
模板引擎
1. [Razor](https://docs.microsoft.com/zh-cn/aspnet/core/mvc/views/razor?view=aspnetcore-2.2)
-
实时通信
1. [SignalR](https://docs.microsoft.com/en-us/aspnet/core/signalr)
-
对象映射
* [AutoMapper](https://github.com/AutoMapper/AutoMapper)
-
API客户端
-
REST
* [OData](https://blogs.msdn.microsoft.com/odatateam/2018/07/03/asp-net-core-odata-now-available/)
-
2. GraphQL
* [GraphQL-dotnet](https://github.com/graphql-dotnet/graphql-dotnet)
-
最好掌握
* [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)
-
测试
-
单元测试
1. 测试框架 * [MSTest](https://docs.microsoft.com/zh-cn/dotnet/core/testing/unit-testing-with-mstest)
-
模拟工具
* [Moq](https://github.com/moq/moq4)
-
断言工具
* [FluentAssertion](https://github.com/fluentassertions/fluentassertions)
-
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?view=aspnetcore-2.2)
* [TestServer](https://koukia.ca/integration-testing-in-asp-net-core-2-0-51d14ede3968)
4. 端到端测试
* [Selenium](https://www.automatetheplanet.com/webdriver-dotnetcore2/)
* [Puppeteer-Sharp](https://github.com/kblok/puppeteer-sharp)
-
任务调度
* [Coravel](https://github.com/jamesmh/coravel)
* [Fluent Scheduler](https://github.com/fluentscheduler/FluentScheduler)
-
微服务
-
消息队列
* [RabbitMQ](https://www.rabbitmq.com/tutorials/tutorial-one-dotnet.html)
-
2. 消息总线
* [MassTransit](https://github.com/MassTransit/MassTransit)
* [NServiceBus](https://github.com/Particular/NServiceBus)
* [CAP](https://github.com/dotnetcore/CAP)
-
SOLID原则
* [开放封闭原则(OCP)](https://www.dotnetcurry.com/software-gardening/1176/solid-open-closed-principle)
* [里氏替换原则(LSP)](https://www.dotnetcurry.com/software-gardening/1235/liskov-substitution-principle-lsp-solid-patterns)
* [接口分离原则(ISP)](https://www.dotnetcurry.com/software-gardening/1257/interface-segregation-principle-isp-solid-principle)
* [依赖倒置原则(DIP)](https://www.dotnetcurry.com/software-gardening/1284/dependency-injection-solid-principles)
-
设计模式
* [装饰模式](https://www.dofactory.com/net/decorator-design-pattern)
* [策略模式](https://www.dofactory.com/net/strategy-design-pattern)
* [观察者模式](https://www.dofactory.com/net/observer-design-pattern)
* [建造者模式](https://www.dofactory.com/net/builder-design-pattern)
* [单例模式](https://www.dofactory.com/net/singleton-design-pattern)
* [外观模式](https://www.dofactory.com/net/facade-design-pattern)
* [中介者模式](https://www.dofactory.com/net/mediator-design-pattern)
-
容器
- Docker
* Kubernetes (k8s)
-
机器学习
* [Sci-Sharp](https://github.com/SciSharp)
* [TensorFlow.NET](https://github.com/SciSharp/TensorFlow.NET)
-
身份认证框架
总结
如果你认为该指南可以改进,请提交包含任何更新的 PR 并提交任何问题。此外,我将继续改进这个仓库,因此你可以 star 这个仓库以便于重新访问。
灵感来源 :
React Developer RoadMap
贡献
该指南是使用
Draw.io构建的。中文版项目文件为
aspnetcore-developer-roadmap.zh-Hans.xml
。要修改它, 请打开 draw.io, 点击
Open Existing Diagram并选择项目中的
xml
文件。它将为你渲染生成路线图,更新它,上传和更新自述文件中的图像并创建一个 PR(导出为400%的png图片,然后使用
Compressor.io压缩)。
- 改进后提交 PR
- 在Issues中讨论问题
- 推广项目
相关链接:
ASP.NET Core 中文文档目录 - .NET_CORE_COMMUNITY - 博客园