Arquitetura Hexagonal com Java - C1
Conceitos, metáforas, projeto e implementação de arquitetura hexagonal usando Java
Description
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
O que é?
Para que serve?
Ator Primário Condutor (Driver)
Ator Secundário Conduzido (Driven)
Dependências
O que é?
Para que serve?
Centro como hexágono.
Lado superior esquerdo.
Lado inferior direito.
Portas
O que é?
Para que serve?
Porta Primária Condutor (Driver)
Porta Secundária Dirigida (Driven)
Adaptadores
O que é?
Para que serve?
Adaptador Condutor (Driver)
Adaptador Dirigido (Driven)
Adaptadores Simulados (Mock)
O que é?
Para que serve?
Fluxo de Execução
O que é?
Como funciona?
Inversão de Controle – IoC
O que é?
Como funciona?
Dependências Configuráveis
O que é?
Para que serve?
Lado superior esquerdo.
Lado inferior direito.
Exemplo Real
Aplicativo de Gerenciador de tarefas
Diagrama
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
Adaptadores Dirigidos
Serviços Fora do Hexágono – Lado Superior Esquerdo
Adaptadores Condutores.
Fluxo de Execução
O que é?
Como funciona?
Digrama de execução
Sequência de Desenvolvimento
O que é?
Como funciona?
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
What You Will Learn!
- Conhecimentos teórico e conceituais em arquitetura hexagonal
- Conhecimentos sobre decisões de design em projetos Java
- Implementação de um sistema real usando arquitetura hexagonal com Java
Who Should Attend!
- Estudantes ou desenvolvedores Java que almejem se ingressar na carreira de arquiteto java
- Estudantes ou desenvolvedores Java que almejem aprender teoria, conceitos e implementação de arquitetura hexagonal usando Java
- Estudantes ou desenvolvedores Java que almejem aprender a como desenvolver uma solução moderna, flexível e manutenível usando modelo arquitetural baseado em princípios ágeis