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订阅指南.

免责声明

该指南的目的是为了给读者心有个大概的轮廓。如果你对接下来要学习的内容感到困惑,这张路线图将指导你,而不是鼓励你选择时髦的东西。

你应该逐渐理解为什么一种工具比另一种工具更适合某些场景,并且记住时髦和新颖的东西并不总是意味着最适合这个工作。

请给一个星星! ⭐

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

路线图

map

资源

  1. 先决条件

    *   [C#](https://www.pluralsight.com/paths/csharp)
    
  2. 通用开发技能

    *   学习GIT, 在GitHub中创建开源项目
    
    • 掌握HTTP(S)协议, 及其请求方法(GET, POST, PUT, PATCH, DELETE, OPTIONS)
    • 不要害怕使用 Google,
      Google搜索技巧
    • 学习
      dotnet CLI
    • 阅读一些关于算法和数据结构的书籍
  3. 依赖注入

    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. 生命周期
    2. 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/)
    
    1. 云数据库

          *   [CosmosDB](https://docs.microsoft.com/zh-cn/azure/cosmos-db)
      
    2. 搜索引擎

          *   [ElasticSearch](https://www.elastic.co/)
      
    3. NoSQL

          *   [MongoDB](https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/first-mongo-app?view=aspnetcore-2.2&tabs=visual-studio)
      
  5. 缓存

    1.  实体框架二级缓存
    
            1.  [EFSecondLevelCache.Core](https://github.com/VahidN/EFSecondLevelCache.Core)
    2.  [EntityFrameworkCore.Cacheable](https://github.com/SteffenMangold/EntityFrameworkCore.Cacheable)
    
    1. 分布式缓存

          1.  [Redis](https://redis.io/)
      
      1. Memcached
    2. 内存缓存

  6. 日志

    1.  日志框架
    
            *   [Serilog](https://github.com/serilog/serilog)
    *   [NLog](https://github.com/NLog/NLog)
    *   [Elmah](https://elmah.github.io/)
    
    1. 日志管理系统

          *   [Sentry.io](http://sentry.io)
      
  7. 模板引擎

    1.  [Razor](https://docs.microsoft.com/zh-cn/aspnet/core/mvc/views/razor?view=aspnetcore-2.2)
    
    1. DotLiquid
    2. Scriban
    3. Fluid
  8. 实时通信

    1.  [SignalR](https://docs.microsoft.com/en-us/aspnet/core/signalr)
    
  9. 对象映射

    *   [AutoMapper](https://github.com/AutoMapper/AutoMapper)
    
  10. API客户端

    1. 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)
  1. 最好掌握

*   [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. 测试

    1. 单元测试

      1.  测试框架
      
              *   [MSTest](https://docs.microsoft.com/zh-cn/dotnet/core/testing/unit-testing-with-mstest)
      
    2. 模拟工具

              *   [Moq](https://github.com/moq/moq4)
      
    3. 断言工具

              *   [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)
  1. 任务调度

*   [Coravel](https://github.com/jamesmh/coravel)
*   [Fluent Scheduler](https://github.com/fluentscheduler/FluentScheduler)
  1. 微服务

    1. 消息队列

      *   [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)
  1. 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)
  1. 设计模式

*   [装饰模式](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)
  1. 容器

    • Docker
*   Kubernetes (k8s)
  1. 机器学习

*   [Sci-Sharp](https://github.com/SciSharp)

    *   [TensorFlow.NET](https://github.com/SciSharp/TensorFlow.NET)
  1. 身份认证框架

总结

如果你认为该指南可以改进,请提交包含任何更新的 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 - 博客园


posted @ 2019-06-26 09:37  Mr·Raj  阅读(723)  评论(0编辑  收藏  举报