Objetivo
Objetivo 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áforas
Introdução
O que é?
Para que serve?
Quando surgiu?
Qual o objetivo?
Isolamento
SoC
Centro como hexágono.
Lado superior esquerdo.
Lado inferior direito.
Atores
Dependências
O que é?
Para que serve?
Centro como hexágono.
Lado superior esquerdo.
Lado inferior direito.
Portas
Adaptadores
Adaptadores Simulados (Mock)
Fluxo de Execução
Inversão de Controle – IoC
Dependências Configuráveis
O que é?
Para que serve?
Lado superior esquerdo.
Lado inferior direito.
Exemplo Real
Conclusão
Pontos Positivos
Pontos Negativos
Quando usar ou não usar?
Leitura Complementar
Fechamento
Módulo 2 – Projeto e Design
Opções de Design
Organização de IDE/Projeto
Organização de Pacotes
Padrões de Regras de Negócios
Organização de Portas Primárias
Transferência de Dados
Dependências para Objetos de Backservices
Classes e Serviços Dentro do Hexágono
Modelo de Domínio
Serviço de Domínio
Portas Dirigidas
Portas Condutoras
Serviços Fora do Hexágono – Lado Inferior Direito
Serviços Fora do Hexágono – Lado Superior Esquerdo
Fluxo de Execução
O que é?
Como funciona?
Digrama de execução
Sequência de Desenvolvimento
Módulo 3 – Projeto e Implementação com Java
Caso de uso: Transferência Bancária
O que é?
Como funciona?
Protótipo
Tecnologias: OpenJDK, Java 12, IntelliJ, TDD, JUnit, Java Module, CDI, Spring Framework, JavaFX e banco de dados relacional HSQDB.
Decisões de Design de projeto
Montagem do ambiente de desenvolvimento
Implementação
Projeto 1 - Core Hexagonal
Projeto 2 - Front-End
Projeto 3 - Back-Services
Projeto 4 - Build de homologação e produção
Fechamento