你可以在下面找到一张图,该图展示了你可以选取的路径及你想学习的库,从而成为一名 ASP.NET Core 开发者。“作为 ASP.NET Core 开发者,我接下来应该学习什么?”,我把这张图作为建议给每个问过我这一问题的人。

免责声明

该指南的目的是为了给读者心有个大概的轮廓。如果你对接下来要学习的内容感到困惑,这张路线图将指导你,而不是鼓励你选择时髦的东西。 你应该逐渐理解为什么一种工具比另一种工具更适合某些场景,并且记住时髦和新颖的东西并不总是意味着最适合这个工作。

说明

1. 先决条件

- [C#](https://www.pluralsight.com/paths/csharp)
- [Entity Framework](https://www.pluralsight.com/search?q=entity%20framework%20core)
- [ASP.NET Core](https://www.pluralsight.com/search?q=asp.net%20core)
- SQL基础知识

2. 通用开发技能

- 学习GIT, 在GitHub中创建开源项目
- 掌握HTTP(S)协议, 及其请求方法(GET, POST, PUT, PATCH, DELETE, OPTIONS)
- 不要害怕使用 Google, [Google搜索技巧](http://www.powersearchingwithgoogle.com/)
- 学习 [dotnet CLI](https://docs.microsoft.com/zh-cn/dotnet/core/tools)
- 阅读一些关于算法和数据结构的书籍

3. 依赖注入

1. DI容器
- [Microsoft.Extensions.DependencyInjection](https://docs.microsoft.com/zh-cn/aspnet/core/fundamentals/dependency-injection)
- [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)
2. [生命周期](https://docs.microsoft.com/zh-cn/aspnet/core/fundamentals/dependency-injection#service-lifetimes)
3. [Scrutor](https://github.com/khellang/Scrutor)

4. 数据库

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/)
2. 云数据库
- [CosmosDB](https://docs.microsoft.com/zh-cn/azure/cosmos-db)
- [DynamoDB](https://aws.amazon.com/dynamodb/)
3. 搜索引擎
- [ElasticSearch](https://www.elastic.co/)
- [Solr](http://lucene.apache.org/solr/)
- [Sphinx](http://sphinxsearch.com/)
4. NoSQL
- [MongoDB](https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/first-mongo-app)
- [Redis](https://redis.io/)
- [Apache Cassandra](http://cassandra.apache.org/)
- [LiteDB](https://github.com/mbdavid/LiteDB)
- [RavenDB](https://github.com/ravendb/ravendb)
- [CouchDB](http://couchdb.apache.org/)

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://redis.io/)
2. [Memcached](https://memcached.org/)
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.github.io/)
- [log4net](https://github.com/huorswords/Microsoft.Extensions.Logging.Log4Net.AspNetCore)
2. 日志管理系统
- [Sentry.io](http://sentry.io)
- [Loggly.com](https://loggly.com)
- [Elmah.io](http://elmah.io)

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://expressmapper.org/)

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://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)

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.rabbitmq.com/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.dotnetcurry.com/software-gardening/1148/solid-single-responsibility-principle)
- [开放封闭原则(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)

16. 设计模式

- [CQRS](https://docs.microsoft.com/zh-cn/azure/architecture/patterns/cqrs)
- [装饰模式](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)

地址

此文章是转载Github上的一个项目,地址: https://github.com/MoienTajik/AspNetCore-Developer-Roadmap/blob/master/ReadMe.zh-Hans.md ,如果喜欢的给个小星星。

ASP.NET Core开发者指南()的更多相关文章

  1. ASP.NET Core开发者指南

    ASP.NET Core开发者指南 2019年ASP.NET Core开发者指南: 你可以在下面找到一张图,该图展示了你可以选取的路径及你想学习的库,从而成为一名 ASP.NET Core 开发者.“ ...

  2. ASP.NET Core开发者指南(转发)

    ASP.NET Core开发者指南 2019年ASP.NET Core开发者指南: 你可以在下面找到一张图,该图展示了你可以选取的路径及你想学习的库,从而成为一名 ASP.NET Core 开发者.& ...

  3. ASP.NET Core开发者成长路线图

    目录 ASP.NET Core开发者路线图RoadMap 免责声明 请给一个星星! ⭐ 路线图 资源 总结 贡献 许可协议 ASP.NET Core开发者路线图RoadMap 来源: MoienTaj ...

  4. 新的ASP.NET Core 迁移指南

    最近在微信里做了一个调查: Web Forms应用程序升级到.NET 6, 收到550份调查,调查还在继续,欢迎参与调查.可以访问链接:https://wj.qq.com/s2/9822949/ac3 ...

  5. ASP.NET Core Loves JavaScript

    前言 在 ASP.NET 团队的 Github 的主页上,有这样一个开源项目叫:"JavaScriptsServices",那么 什么是 JavaScriptsServices 呢 ...

  6. ASP.NET Core分布式项目实战

    ASP.NET Core开发者成长路线图 asp.net core 官方文档 https://docs.microsoft.com/zh-cn/aspnet/core/getting-started/ ...

  7. C# -- HttpWebRequest 和 HttpWebResponse 的使用 C#编写扫雷游戏 使用IIS调试ASP.NET网站程序 WCF入门教程 ASP.Net Core开发(踩坑)指南 ASP.Net Core Razor+AdminLTE 小试牛刀 webservice创建、部署和调用 .net接收post请求并把数据转为字典格式

    C# -- HttpWebRequest 和 HttpWebResponse 的使用 C# -- HttpWebRequest 和 HttpWebResponse 的使用 结合使用HttpWebReq ...

  8. ASP.NET Core Web API 最佳实践指南

    原文地址: ASP.NET-Core-Web-API-Best-Practices-Guide 介绍 当我们编写一个项目的时候,我们的主要目标是使它能如期运行,并尽可能地满足所有用户需求. 但是,你难 ...

  9. [转]ASP.NET Core Web API 最佳实践指南

    原文地址: ASP.NET-Core-Web-API-Best-Practices-Guide 转自 介绍# 当我们编写一个项目的时候,我们的主要目标是使它能如期运行,并尽可能地满足所有用户需求. 但 ...

随机推荐

  1. OutOfMemoryError本地线程不足问题分析

    java.lang.OutOfMemoryError本地线程不足问题 11月份中旬客户方的一个系统突然报内存异常,当时是早上上班的时候碰到该项目的项目经理,还跟该项目的项目经理开玩笑说你们系统上线将近 ...

  2. 使用 Topshelf 组件一步一步创建 Windows 服务 (2) 使用Quartz.net 调度

    上一篇说了如何使用 Topshelf 组件快速创建Windows服务,接下来介绍如何使用 Quartz.net 关于Quartz.net的好处,网上搜索都是一大把一大把的,我就不再多介绍. 先介绍需要 ...

  3. 【springcloud】3.记一次网关优化

    今天早上过来突然被告知我们提供给外系统的接口服务出问题了,失败率高达20% 很奇怪,昨天周末,今天也没做什么处理,怎么突然变成这样了 1.接口测试 第一反应是接口是不是出问题了,然后我立马打开jmet ...

  4. 使用centos7安装PXE教程

    PXE是一种电脑无盘(即没有硬盘)技术. 预启动执行环境(PXE)指的是那些使得IBM兼容计算机(经常是运行Windows系统)不需要硬盘或是启动软盘就能启动的方法. 通俗点讲就是配置好PXE以后可以 ...

  5. NPOI插件生成导出word文档

    因为之前没有接触NPOI过这个插件,所以几乎都是自己一边百度摸索一边学习. 这个插件对于Excel的数据导入和导出,可以说是很方便了, 但是对于导出word文档,可以说是很少的,百度了很多....也不 ...

  6. python基础-网络编程part01

    软件开发架构 C/S(Client / Server) 架构 概念:是一种软件系统体系结构.Client是客户端,Server是服务端.客户端需要安装专用的客户端软件. 比如:微信.QQ.王者荣耀等应 ...

  7. MySQL5.6.36 自动化安装脚本

    背景 很好的朋友邱启明同学,擅长MySQL,目前任职某大型互联网业MySQL DBA,要来一套MySQL自动安装的Shell脚本,贴出来保存一些. 此版本为 MySQL 5.6.365 ###### ...

  8. 大白话OSI七层协议

    目录 一.物理层 二.数据链路层 2.1 以太网协议 2.2 Mac地址 2.3 广播地址 三.网络层 3.1 IP协议详解 3.1.1 IP地址的两部分 3.2 子网掩码详解 3.3 IP数据包详解 ...

  9. 通过Javascript 创建POST提交, 无页面刷新下载

    前端准备: //Download the template through "POST" request function getTargertContainer() { var ...

  10. css练习——两列左窄右kuan型

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...