|
所在平台: Udemy |
课程主页: https://www.udemy.com/course/architecture-hexagonale-typescript-nodejs/
课程评论:没有评论
课程名称:TypeScript中的六角架构与测试驱动开发(TDD):快速入门 课程概述:本课程旨在教授学员如何通过测试驱动开发(TDD)和六角架构,利用TypeScript/Node.js更快地开发出高质量的软件。具体内容包括: - 如何定义示例以作为接受标准,通过Example Mapping避免长时间讨论引起的误解。 - 如何在代码中结构化单元测试,确保其不易脆弱,并使代码重构变得顺畅。 - 依赖反转的重要性,介绍SOLID原则,帮助学员编写更易于维护和扩展的软件。 - 如何为我们的单元测试创建数据层和构建器,以及如何构建一个领域特定语言(DSL),以快速编写单元测试。 - 如何管理与基础设施相关的代码(如数据库、文件系统等),而不污染业务逻辑。 - 通过TestContainer进行孤立的集成测试,测试基础设施。 - 如何根据“尖叫架构”原则组织文件和文件夹。 - 如何用Prisma和PostgreSQL区分数据模型和领域模型。 - 如何使用Presenter管理用例返回,确保解耦、可扩展和可维护。 - 如何使用NestJS框架节省时间,同时不与之耦合。 - 以及如何实现端到端测试。 课程将逐步展示如何开发一个具有六角架构的应用程序,基于社交网络的开发练习,该练习旨在模拟真实项目的需求变化,而非简单的快速练习。学员将从无结构的文件开始,逐步构建出基于NestJS框架的应用程序,提供HTTP API,所有步骤都将采用TDD的方法,包括集成测试和端到端测试。
Ce cours t'apprendra à développer de meilleurs logiciels plus rapidement grâce au TDD (Test-Driven Development) et à l'architecture hexagonale avec une application pratique en TypeScript / Node.JSTu y verras notamment:Comment définir des exemples servant de critères d'acceptation et permettant d'éviter les longues discussions autour de quiproquos grâce à l'Example MappingComment structurer un test unitaire dans le code pour éviter qu'il soit fragile et te permettre de refactorer ton code sereinementL'importance de l'inversion de dépendances, principe SOLID extrêmement important pour t'assurer un logiciel plus facilement maintenable et évolutifComment créer des fixtures et des builders pour nos tests unitaires et créer une DSL (Domain Specific Language) pour créer des tests unitaires plus rapidement que tu ne l'as jamais vu!Comment gérer le code lié à l'infrastructure (base de données, système de fichiers, etc,) sans polluer la logique métierComment tester l'infrastructure grâce à des tests d'intégration isolés avec TestContainerComment organiser ses fichiers et ses dossiers selon le principe de la Screaming ArchitectureComment bien séparer Data Model et Domain Model avec Prisma et PostgreSQLComment utiliser un Presenter pour gérer le retour des use cases de façon découplée, évolutive, et maintenableComment se servir d'un framework (NestJS) pour gagner du temps, sans s'y couplerPourquoi et comment implémenter des tests end-to-endJ'y montre pas à pas comment je développe une application avec une architecture hexagonale, en me basant ici sur une version du kata Social Network, un Kata fait pour ressembler à un vrai projet, et pas juste un exercice rapide!On simulera l'apparition de nouveaux besoins, comme dans la vraie vie d'un projet. On verra donc comment ajouter la juste dose de complexité nécessaire dans l'architecture sans que ça devienne de la complexité accidentelle.Je pars de simples fichiers non structurés, sans arborescences de dossiers, exécutable uniquement en ligne de commande, à une application réalisée avec le framework NestJS et exposant une API HTTP. Le tout en TDD, avec des tests d'intégration, et des tests end-to-end.