联系我们

课程大纲

现代 .NET 平台简介

  • .NET 8 运行时、SDK 和统一平台概述
  • .NET Framework、.NET Core 和 .NET 8+ 的演变比较
  • 项目结构、目标框架和多目标基础
  • 设置开发环境和工具

现代 C# 及面向未来的语言实践

  • 记录、只初始化设置器和不可变性模式
  • 模式匹配增强和 switch 表达式
  • 可空引用类型和编译器驱动的安全性
  • Async/await 最佳实践和内存高效流
  • 泛型数学、接口中的静态抽象和性能导向的 API
  • 为 .NET 8 上的 C# 12/13 特性准备代码库

ASP.NET Core 基础与应用程序引导

  • 主机生成器、中间件管道和请求生命周期
  • 最小 API 与基于控制器的 API:决策标准
  • 配置提供程序、环境特定设置和机密管理
  • 静态文件、路由和端点约定
  • 依赖注入容器配置和服务生命周期

REST API 设计与实现

  • REST 成熟度模型、资源建模和 URI 设计
  • HTTP 方法、状态码和内容协商
  • 请求验证、模型绑定和 FluentValidation 集成
  • 公共和内部 API 的版本控制策略
  • 使用 OpenAPI 和 Swagger UI 进行文档化
  • 使用 TestServer 和 WebApplicationFactory 进行 API 集成测试

企业依赖注入与控制反转

  • 构造函数注入、服务生命周期和捕获依赖
  • 使用内置容器的装饰器和工厂模式
  • Scrutor 和第三方 DI 库集成
  • 模块化服务注册和基于功能的组织
  • 通过中间件和过滤器处理横切关注点

日志记录、配置与集中错误处理

  • 使用 Microsoft.Extensions.Logging 和 Serilog 进行结构化日志记录
  • 日志级别、范围、丰富和接收器配置
  • 异常中间件和全局错误处理管道
  • ProblemDetails 和 RFC 7807 兼容的错误响应
  • 健康检查、遥测和可观察性钩子
  • 关联 ID 和分布式跟踪准备

企业 .NET 解决方案的软件架构

  • 分层、六边形和清洁架构原则
  • .NET 中的领域驱动设计构建块
  • 使用 MediatR 的 CQRS 和中介者模式
  • 使用 EF Core 的仓库和工作单元模式
  • 垂直切片架构以实现功能内聚
  • 评估单体、模块化单体和微服务的权衡

Web 应用程序和 API 的安全性

  • 身份验证方案:JWT、OAuth2、OpenID Connect 和基于 cookie 的流程
  • 授权策略、基于声明的访问和基于资源的守卫
  • HTTPS 强制、HSTS 和安全标头中间件
  • 输入清理、输出编码和 OWASP Top 10 缓解
  • 速率限制、CORS 策略和反伪造令牌处理
  • 使用 Azure Key Vault 进行机密管理和环境驱动的轮换

代码质量、可维护性与最佳实践

  • 编码标准、EditorConfig 和 dotnet format
  • 使用 Roslyn 分析器和 SonarQube 集成进行静态分析
  • 使用 xUnit 进行单元测试,使用 Moq 或 NSubstitute 进行模拟
  • CI 管道中的集成和契约测试
  • 重构长期遗留模块的技术
  • 文档化、API 合同和知识共享实践

现代化策略:评估遗留 .NET Framework 代码

  • 组合分析:按关键性、复杂性和业务价值分类应用程序
  • .NET 升级助手和兼容性分析器使用
  • 识别已弃用的 API、平台特定依赖项和第三方差距
  • Windows 特定 API 和 WCF 迁移考虑
  • 创建基于风险优先级的迁移路线图

逐步迁移与共存技术

  • 绞杀者模式:逐步替换遗留子系统
  • API 优先迁移:通过 REST 门面暴露 .NET Framework 域
  • 使用 RabbitMQ、Azure Service Bus 或 Kafka 进行基于消息的桥接
  • 共享数据库共存和模式版本控制策略
  • 在同一基础设施中并行运行 .NET Framework 和 .NET 8
  • 容器化现代组件,同时将遗留部分留在 IIS 上

动手迁移实验与回顾

  • 将升级助手应用于代表性遗留项目
  • 将 Web Forms 或 WCF 服务重构为 ASP.NET Core API
  • 在迁移的解决方案中实现 DI、日志记录和集中错误处理
  • 为新的 API 表面添加身份验证和授权
  • 通过端到端集成测试验证共存
  • 回顾、问答及培训后现代化规划指导

要求

  • 具备 C# 编程和面向对象设计原则的经验
  • 熟悉 Web 开发概念(HTTP、HTML、CSS、JavaScript 基础)
  • 基本了解关系型数据库和 SQL
  • 之前接触过 .NET Framework 或 ASP.NET 有帮助,但不是必需的

受众

  • 准备现代化遗留 .NET Framework 应用程序的 .NET 开发人员和架构师
  • 转向企业 .NET 开发角色的软件工程师
  • 负责平台迁移和共存规划的技术负责人
  • 支持 .NET 应用程序生命周期的 DevOps 和基础设施人员
 21 小时

客户评论 (2)

即将举行的公开课程

课程分类