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

来源: MoienTajik/AspNetCore-Developer-Roadmap.

2019年ASP.NET Core开发者指南:

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

免责声明

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

请给一个星星! ⭐

如果你喜欢或正在使用这个项目进行学习或引用在你的解决方案中,请给它一个星星。谢谢!

路线图

640?wx_fmt=png


资源

  1. 先决条件

  • C#

  • Entity Framework

  • ASP.NET Core

  • SQL基础知识

通用开发技能

  • 学习GIT, 在GitHub中创建开源项目

  • 掌握HTTP(S)协议, 及其请求方法(GET, POST, PUT, PATCH, DELETE, OPTIONS)

  • 不要害怕使用 Google, Google搜索技巧

  • 学习dotnet CLI

  • 阅读一些关于算法和数据结构的书籍

依赖注入

  • Microsoft.Extensions.DependencyInjection

  • AutoFac

  • Ninject

  • StructureMap

  • Castle Windsor

  1. DI容器

  2. 生命周期

  3. Scrutor

数据库

  • MongoDB

  • Redis

  • Apache Cassandra

  • LiteDB

  • RavenDB

  • CouchDB

  • ElasticSearch

  • Solr

  • Sphinx

  • CosmosDB

  • DynamoDB

  1. SQL Server

  2. PostgreSQL

  3. MariaDB

  4. MySQL

  5. 关系数据库

  6. 云数据库

  7. 搜索引擎

  8. NoSQL

缓存

  1. Redis

  2. Memcached

  3. EFSecondLevelCache.Core

  4. EntityFrameworkCore.Cacheable

  5. 实体框架二级缓存

  6. 分布式缓存

  7. 内存缓存

日志

  • Sentry.io

  • Loggly.com

  • Elmah.io

  • Serilog

  • NLog

  • Elmah

  1. 日志框架

  2. 日志管理系统

模板引擎

  1. Razor

  2. DotLiquid

  3. Scriban

  4. Fluid

实时通信

  1. SignalR

对象映射

  • AutoMapper

  • Mapster

  • AgileMapper

  • ExpressMapper

API客户端

  • GraphQL-dotnet

  • OData

  • Sieve

  1. REST

  2. GraphQL

最好掌握

  • MediatR

  • Fluent Validation

  • Swashbuckle

  • Benchmark.NET

  • Polly

  • NodaTime

  • GenFu

测试

  • Selenium

  • Puppeteer-Sharp

  • WebApplicationFactory

  • TestServer

  • BDDfy

  • SpecFlow

  • LightBDD

  • MSTest

  • NUnit

  • xUnit

  • Moq

  • NSubstitute

  • FakeItEasy

  • FluentAssertion

  • Shouldly

  1. 测试框架

  2. 模拟工具

  3. 断言工具

  4. 单元测试

  5. 行为测试

  6. 集成测试

  7. 端到端测试

任务调度

  • HangFire

  • Coravel

  • Fluent Scheduler

微服务

  • MassTransit

  • NServiceBus

  • CAP

  • RabbitMQ

  • Apache Kafka

  • ActiveMQ

  • Azure Service Bus

  1. 消息队列

  2. 消息总线

SOLID原则

  • 单一责任原则(SRP)

  • 开放封闭原则(OCP)

  • 里氏替换原则(LSP)

  • 依赖倒置原则(ISP)

  • 接口分离原则(DIP)

设计模式

  • CQRS

  • 装饰模式

  • 策略模式

  • 观察者模式

  • 建造者模式

  • 单例模式

  • 外观模式

  • 中介者模式

容器

  • Docker

  • Kubernetes (k8s)

机器学习

  • ML.net

  • Sci-Sharp

总结

如果你认为该指南可以改进,请提交包含任何更新的 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中讨论问题

  • 推广项目

原文地址:https://www.cnblogs.com/enjoy233/p/AspNetCore_developer_roadmap.html

.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com 
640?wx_fmt=jpeg


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/316221.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

P2183 [国家集训队]礼物(扩展卢卡斯)

P2183 [国家集训队]礼物 题意: 有n个礼物,分给m个人,分给第i个人的礼物数量是wi,问送礼物的方案数。 题解: 扩展卢卡斯模板题 很容易看出和组合数有关的题目,对于总方案,完美可以将其分解为…

Eyjafjalla

区间查询有关比大小的数目&#xff0c; 主席树感觉学线段树的时候不用x<<1,x<<1|1去建一次树那样就容易理解多了&#xff1b; #include<cstdio> #include<iostream> #include<cstring> #include<vector> #include<queue> #include…

P4345 [SHOI2015]超能粒子炮·改

P4345 [SHOI2015]超能粒子炮改 题意&#xff1a; 求解式子∑i0kCni%p\sum_{i0}^{k}C_{n}^{i} \% p∑i0k​Cni​%p n,k<1e18 题解&#xff1a; 设f(n,k)∑i0kCnif(n,k)\sum_{i0}^{k}C_{n}^{i}f(n,k)∑i0k​Cni​ 开始化简&#xff1a; 由卢卡斯定理得&#xff1a; f(n,k)…

.NET Framework VS .NET Core

本文对应的原文来至 c-sharpcorner 的一篇文章&#xff0c;文末有链接。如有错误&#xff0c;还请指正。前言你会为你的下一个应用程序选择哪一种开发平台 - .NET Framework 或者 .NET Core&#xff1f;在这篇文章中&#xff0c;让我们比较一下这两个开发平台的特点&#xff0c…

P6669 [清华集训2016] 组合数问题

P6669 [清华集训2016] 组合数问题 题意&#xff1a; 给你n&#xff0c;m&#xff0c;k&#xff0c;问有多少对(i,j)满足K∣CijK|C_{i}^{j}K∣Cij​ (Cij是k的倍数C_{i}^{j}是k的倍数Cij​是k的倍数) n,m<1e18 题解&#xff1a; n和m非常大&#xff0c;非常非常大&#x…

解决 VS2019 中.net core WPF 暂时无法使用 Designer 的临时方法

以下方法来自于微软github开源项目WPF:dotnet/samples - WPF Hello World sample with linked files&#xff0c;请放心使用。此篇文章是上篇文章解决vs2019中暂时无法为.net core WinForms使用 Designer 的临时方法的姊妹篇&#xff0c;但对WPF而言实现起来比WinForms简单很多…

Building Fire Stations

题目链接 首先找到树的直径&#xff0c;直径左端点是a&#xff0c;直径右端点是b&#xff0c;中间的点是mid&#xff08;偶数的情况下mid可以看做两个&#xff09;&#xff0c;两点因该是左右分布&#xff1b; 假设两点都不在直径上&#xff0c;那么移到直径上的话距离更短&a…

.NET Core 迁移躺坑记

最近将自己负责的一个核心接口系统从.Net Framework迁移到了.Net Core。整体过程&#xff0c;从业务层面说一般般吧(整体还好但还是搞的业务有感&#xff0c;没出严重故障&#xff09;但是技术层面上感觉其实并没有达到要求&#xff0c;不过预期也是应该不会那么顺利&#xff0…

P4720 【模板】扩展卢卡斯定理/exLucas(无讲解,纯记录模板)

P4720 【模板】扩展卢卡斯定理/exLucas 题意&#xff1a; CnmmodpC_{n}^{m}\bmod pCnm​modp 对于 100% 的数据&#xff0c;1≤m≤n≤1018&#xff0c;2≤p≤106&#xff0c;不保证 p 是质数。 题解&#xff1a; 模板题&#xff0c;单纯写本文章记录板子 代码&#xff1a; …

[Abp vNext 源码分析] - 2. 模块系统的变化

一、简要说明本篇文章主要分析 Abp vNext 当中的模块系统&#xff0c;从类型构造层面上来看&#xff0c;Abp vNext 当中不再只是单纯的通过 AbpModuleManager 来管理其他的模块&#xff0c;它现在则是 IModuleManager 和 IModuleLoader 来协同工作&#xff0c;其他的代码逻辑并…

P3301 [SDOI2013]方程

P3301 [SDOI2013]方程 题意&#xff1a; 题解&#xff1a; 插板法介绍 首先要先讲组合数学的一个方法&#xff1a;插板法 问题引出&#xff1a;把10个球放进三个盒子&#xff0c;每个箱子至少一个有多少种分法&#xff1f; 10个球就有9个空隙&#xff0c;我们可以考虑在这个…

201912-3 化学方程式

他这个好像之和大写字母有关系&#xff1b; 小写字母跟着前面的的大写字母&#xff1b; 和代表要处理了&#xff1b; &#xff08;&#xff09;代表要乘了&#xff1b; #include<iostream> #include<cstdio> #include<algorithm> #include<cstring>…

.NET Framework 4.8发布

原文地址&#xff1a;https://devblogs.microsoft.com/dotnet/announcing-the-net-framework-4-8/我们很高兴地宣布今天发布.NET Framework 4.8。它包含在Windows 10 May 2019更新中。.NET Framework 4.8也可在Windows 7和Windows Server 2008 R2 上使用。您可以从我们的 .NET下…

Deltix Round, Summer 2021 (open for everyone, rated, Div. 1 + Div. 2)

Deltix Round, Summer 2021 (open for everyone, rated, Div. 1 Div. 2) 题号题目知识点AA Variety of OperationsBTake Your Places!CCompressed Bracket SequenceDTake a GuessEEquilibriumFSports BettingGGates to Another WorldHDIY Tree

[NewLife.XCode]数据层缓存(网站性能翻10倍)

NewLife.XCode是一个有10多年历史的开源数据中间件&#xff0c;支持nfx/netcore&#xff0c;由新生命团队(2002~2019)开发完成并维护至今&#xff0c;以下简称XCode。整个系列教程会大量结合示例代码和运行日志来进行深入分析&#xff0c;蕴含多年开发经验于其中&#xff0c;代…

cf1556A. A Variety of Operations

cf1556A. A Variety of Operations 题意&#xff1a; 有两个数a&#xff0c;b一开始都是0&#xff0c;现在有三种操作&#xff1a; 给a和b都加ka加k&#xff0c;b减ka减k&#xff0c;b加k 问从a0&#xff0c;b0到ac&#xff0c;bd最少需要几步&#xff1f; 题解&#xff1a…

[NewLife.XCode]高级查询(化繁为简、分页提升性能)

NewLife.XCode是一个有10多年历史的开源数据中间件&#xff0c;支持nfx/netcore&#xff0c;由新生命团队(2002~2019)开发完成并维护至今&#xff0c;以下简称XCode。整个系列教程会大量结合示例代码和运行日志来进行深入分析&#xff0c;蕴含多年开发经验于其中&#xff0c;代…

cf1556B B. Take Your Places!

cf1556B B. Take Your Places! 题意&#xff1a; 有n个数&#xff0c;你可以将相邻两个数交换&#xff0c;使得奇偶性一样的数不相邻。问最少操作步数 题解&#xff1a; 最终排列无非是&#xff1a;奇&#xff0c;偶&#xff0c;奇…或者偶&#xff0c;奇&#xff0c;偶… …

微软云Azure训练营 | 八城联动,全球盛会

Global Azure Bootcamp是由微软发起、MVP参与组织的全球化学习交流活动。每年会挑选一个特定的时间&#xff0c;在同一天内&#xff0c;全球不同地区将同时开展。2019年全球Azure训练营&#xff08;Global Azure Bootcamp&#xff09;将于2019年4月27日在全球270多个城市同时举…

2021-09-211547G - How Many Paths?

#include <iostream> #include <cstdio> #include <cstring> #include <algorithm> #include <set> using namespace std; typedef long long ll;const int N4e510,M1e610,mod998244353;int h[N],hs[N],e[M],ne[M],idx0; // h 原图 hs新图 v…