|
所在平台: Udemy |
课程主页: https://www.udemy.com/course/arquitetura-hexagonal-com-java-1/
课程评论:没有评论
**课程名称:** Java 六边形架构 - C1 **课程概述:** 本课程旨在为学员提供关于“六边形架构”(Hexagonal Architecture)这一架构模式的理论和实践知识。课程将深入探讨其理论基础、核心价值、概念和隐喻,并通过一个功能齐全的实际案例,使用 JDK、IntelliJ、TDD、JUnit、Java 12、Java Module、CDI、Spring Framework、JavaFX 以及 HSQDB 关系型数据库进行 100% 的实践实现,以验证和巩固所学概念。 **课程内容:** **模块一: teoria, Conceitos Valores e Metáforas (理论、概念、价值与隐喻)** * **介绍:** 什么是六边形架构?它的作用、起源和目标。 * **核心概念:** 隔离、关注点分离 (SoC)、中心(六边形)、左上角(驱动端口)、右下角(被驱动端口)。 * **参与者 (Atores):** 什么是参与者?主导参与者(驱动者)、次要参与者(被驱动者)。 * **依赖关系 (Dependências):** 什么是依赖?中心作为六边形,左上角,右下角。 * **端口 (Portas):** 什么是端口?主导端口(驱动)、次要端口(被驱动)。 * **适配器 (Adaptadores):** 什么是适配器?驱动适配器、被驱动适配器。 * **模拟适配器 (Adaptadores Simulados - Mock):** 什么是模拟适配器? * **执行流程 (Fluxo de ExecuLink):** 什么是执行流程?如何运作? * **控制反转 (Inversão de Controle - IoC):** 什么是 IoC?如何运作? * **可配置依赖 (Dependências Configuráveis):** 什么是可配置依赖?作用。 * **真实示例:** 任务管理器应用程序。 * **分析:** 图示、结论、优缺点、适用场景。 * **拓展阅读。** **模块二: Projeto e Design (项目与设计)** * **设计选项:** IDE/项目组织、包组织。 * **业务规则模式。** * **主端口组织。** * **数据传输。** * **背服务依赖。** * **六边形内的类与服务:** 领域模型、领域服务。 * **被驱动端口。** * **驱动端口。** * **六边形外的服务 - 右下角:** 被驱动适配器。 * **六边形外的服务 - 左上角:** 驱动适配器。 * **执行流程:** 定义与流程图。 * **开发序列:** 定义与流程。 **模块三: Projeto e Implementação com Java (Java 项目与实现)** * **用例:** 银行转账(定义与流程)。 * **原型。** * **技术栈:** OpenJDK、Java 12、IntelliJ、TDD、JUnit、Java Module、CDI、Spring Framework、JavaFX 及 HSQDB 关系型数据库。 * **项目设计决策。** * **开发环境搭建。** * **项目实现:** * 项目 1 - Core Hexagonal * 项目 2 - Front-End * 项目 3 - Back-Services * 项目 4 - 生产与发布构建。 * **课程总结。**
ObjetivoObjetivo desse curso 1 é oferecer aos participantes conhecimentos teóricos e práticos relacionados ao uso do padrão de projeto arquitetural conhecido como "Hexagonal Architecture".O curso aborda toda a teoria, valores, conceitos e metáforas, fazendo a implementação de um estudo de caso funcional 100% prático em Java usando: JDK, IntelliJ, TDD, JUnit, Java 12, Java Module, CDI, Spring Framework, JavaFX e banco de dados relacional HSQDB, aplicando e provando os conceitos ministrados.Conteúdo programático:Módulo 1 - Teoria, Conceitos Valores e MetáforasIntroduçãoO que é?Para que serve?Quando surgiu?Qual o objetivo?IsolamentoSoCCentro como hexágono.Lado superior esquerdo.Lado inferior direito.AtoresO que é?Para que serve?Ator Primário Condutor (Driver)Ator Secundário Conduzido (Driven)DependênciasO que é?Para que serve?Centro como hexágono.Lado superior esquerdo.Lado inferior direito.PortasO que é?Para que serve?Porta Primária Condutor (Driver)Porta Secundária Dirigida (Driven)AdaptadoresO que é?Para que serve?Adaptador Condutor (Driver)Adaptador Dirigido (Driven)Adaptadores Simulados (Mock)O que é?Para que serve?Fluxo de ExecuçãoO que é?Como funciona?Inversão de Controle - IoCO que é?Como funciona?Dependências ConfiguráveisO que é?Para que serve?Lado superior esquerdo.Lado inferior direito.Exemplo RealAplicativo de Gerenciador de tarefasDiagramaConclusãoPontos PositivosPontos NegativosQuando usar ou não usar?Leitura ComplementarFechamentoMódulo 2 - Projeto e DesignOpções de DesignOrganização de IDE/ProjetoOrganização de PacotesPadrões de Regras de NegóciosOrganização de Portas PrimáriasTransferência de DadosDependências para Objetos de BackservicesClasses e Serviços Dentro do HexágonoModelo de DomínioServiço de DomínioPortas DirigidasPortas CondutorasServiços Fora do Hexágono - Lado Inferior DireitoAdaptadores DirigidosServiços Fora do Hexágono - Lado Superior EsquerdoAdaptadores Condutores.Fluxo de ExecuçãoO que é?Como funciona?Digrama de execuçãoSequência de DesenvolvimentoO que é?Como funciona?Módulo 3 - Projeto e Implementação com JavaCaso de uso: Transferência BancáriaO que é?Como funciona?ProtótipoTecnologias: OpenJDK, Java 12, IntelliJ, TDD, JUnit, Java Module, CDI, Spring Framework, JavaFX e banco de dados relacional HSQDB.Decisões de Design de projetoMontagem do ambiente de desenvolvimentoImplementaçãoProjeto 1 - Core HexagonalProjeto 2 - Front-EndProjeto 3 - Back-ServicesProjeto 4 - Build de homologação e produçãoFechamento