Arquitetura Hexagonal com Java – Curso Presencial Londrina

Objetivo

Objetivo desse curso é 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 um estudo de caso funcional 100% prático em Java usando: JDK, IntelliJ, TDD, JUnit, Java 12, Java Module, Spring Framework, JavaFX e banco de dados relacional HSQDB, aplicando e provando os conceitos ministrados.

1º Turma

Em Londrina-PR, as segundas feiras dia 24/06, 01/07, 08/07 e 15/07 das 18:45 as 22:30. Valor R$ 300,00, boleto bancário ou cartão de crédito, em até 3 x. O aluno é responsável por trazer seu notebook pessoal compatível com o curso. Duvidas entre em contato comigo via WhatsApp: 43 98407-4007. Vagas limitadas!

Brinde

Todos os alunos dessa primeira turma presencial ganharão ao mesmo curso na Udemy grátis após lançamentos.

Conteúdo programático:

Módulo 1 – Teoria e Fundamentos

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 – Decisões de 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: JDK, IntelliJ, TDD, JUnit, Java 12, Java Module, Spring Framework, JavaFX e banco de dados relacional HSQDB.
  • Decisões de Design de projeto
  • Montagem do ambiente de desenvolvimento

Implementação

  • Parte 1
  • Parte 2
  • Parte 3
  • Parte 4
  • Fechamento

Para os interessados nesse curso on-line, aguarde o lançamento na Udemy. Estarei disponibilizando com um preço promocional de lançamento.

“Deus, que vive no seu santo Templo, cuida dos órfãos e protege as viúvas.” Salmos 68:5

Anúncios

Curso Presencial Londrina-PR: Arquitetura Hexagonal com Java

Objetivo

Objetivo desse curso é 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 um estudo de caso funcional 100% prático em Java usando: JDK, IntelliJ, TDD, JUnit, Java 12, Java Module, Spring Framework, JavaFX e banco de dados relacional HSQDB, aplicando e provando os conceitos ministrados.

1º Turma

Em Londrina-PR, as segundas feiras dia 24/06, 01/07, 08/07 e 15/07 das 18:45 as 22:30. Valor R$ 300,00, boleto bancário ou cartão de crédito, em até 3 x. O aluno é responsável por trazer seu notebook pessoal compatível com o curso. Duvidas entre em contato comigo via WhatsApp: 43 98407-4007. Vagas limitadas!

Brinde

Todos os alunos dessa primeira turma presencial ganharão ao mesmo curso na Udemy grátis após lançamentos.

Conteúdo programático:

Módulo 1 – Teoria e Fundamentos

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 – Decisões de 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: JDK, IntelliJ, TDD, JUnit, Java 12, Java Module, Spring Framework, JavaFX e banco de dados relacional HSQDB.
  • Decisões de Design de projeto
  • Montagem do ambiente de desenvolvimento

Implementação

  • Parte 1
  • Parte 2
  • Parte 3
  • Parte 4
  • Fechamento

Para os interessados nesse curso on-line, aguarde o lançamento na Udemy. Estarei disponibilizando com um preço promocional de lançamento.

“Deus, que vive no seu santo Templo, cuida dos órfãos e protege as viúvas.” Salmos 68:5

Desmistificando microsserviços para Java EE

Os últimos tempos tem gerado muita conversa sobre microsserviços – uma nova maneira de desenvolver e projetar aplicativos corporativos. Neste documento, escrito por David Heffelfinger – um especialista em Java EE independente, é eliminado o hype, explicando microsserviços em termos que façam sentido para os desenvolvedores de Java EE. O Jakarta EE é leve e adequada para o desenvolvimento de microsserviços. Os desenvolvedores do Jakarta EE podem alavancar seus conhecimentos e implementar seu código em um desses containers de execução leves, como o Payara Micro. Faça seu download aqui.

“Eu lhes dou este novo mandamento: amem uns aos outros. Assim como eu os amei, amem também uns aos outros.” João 13:34

Decolar na Carreira Java

Gostaria de decolar na sua carreira Java? Minha sugestão são a sequência de 3 cursos:

  1. Curso Grátis – Eclipse IDE para Desenvolvedores Java – https://www.udemy.com/eclipse-ide-para-desenvolvedores-java/
  2. Curso Grátis – Java SE – Polimorfismo – https://www.udemy.com/java-se-polimorfismo/
  3. Curso Pago com Cupon de Desconto 19,90 – Introdução a Arquitetura de Software com Java – https://www.udemy.com/introducao-a-arquitetura-de-software-com-java/?couponCode=PROMO1-2019-AQT
Tenho certeza que no final dessa jornada sua visão sobre desenvolvimento Java será bem mais ampla. Estou a disposição ;).

Seja livre com Groovy!

imagesVocês já viram aqueles debates sem fim sobre uma coisa ser melhor que outra, no qual não existe uma verdade absoluta? Linux ou window? Vi ou emacs? Tabs ou spaces? Cristiano Ronaldo ou Leonel Messi? Android ou iOS?

Pois bem, é exatamente o que acontece hoje com as linguagens de programação. Muitos defendem as linguagens dinâmicas e outros as estáticas, alguns as fortemente tipada e outros fracamente tipadas. A onda agora é exaltar as linguagens que oferecem programação funcional declarativa e meter o pau nas linguagens imperativas. A questão real é que não existe verdade absoluta, cada uma das opções tem suas vantagens e desvantagens! É uma discussão sem vencedor.

Mas pense comigo…por que você precisa escolher um caminho? Por que não usar todos ao mesmo tempo?

Penso eu que, o objetivo de uma linguagem de programação não é forçar ou amarrar o programador a uma determinada forma, mas sim dar opções para ele usar o melhor em cada caso.

É exatamente o motivo do por que eu uso groovy!

Groovy é uma linguagem de programação oop, funcional, imperativa, declarativa, dinâmica, estática, fracamente tipada e fortemente tipada. Ela foi projetada reconhecendo o valor de cada uma dessas abordagens.

Assim, em groovy, é você quem decide a abordagem da programação!!!

O que eu mais curto nela é possibilidade de misturar todas essas opções no mesmo projeto, podendo então extrair o melhor de cada mundo em cada situação especifica.

Seja livre para decidir e ou misturar o melhor de cada abordagem na programação de suas soluções com a JVM. Ficou interessado nessa poderosa linguagem?

Aproveite Cupons de Descontos

Veja promoções e cupons de desconto.

“Alegrem-se sempre.” 1 Tessalonicenses 5:16

11 anos de blog

Hoje faço 11 anos de blog. Comecei com o objetivo de postar algumas dicas, minha rotina do dia a dia e acabou na verdade se tornando uma ferramenta de aprendizado, um diário de trabalho e meu próprio material de estudo! Contamos com media de 800 inscritos  e 15 mil acessos ao mês. Gostaria de usar a oportunidade para agradecer a todos que estão comigo ai na jornada. Parabéns a todos!

“Entregue os seus problemas ao SENHOR, e ele o ajudará; ele nunca deixa que fracasse a pessoa que lhe obedece.” Salmos 55:22

Catálogo de Refatoração: Lidando com Generalização #3

Extrair subclasse – use quando encontrar uma classe que tem características que são utilizadas apenas em algumas instâncias executadas na solução. Crie uma subclasse para esse subconjunto de características, separando as classes e as instancias polimorficamente da superclasse original.

Extrair superclasse – use quando encontrar diversas classes clientes que usam o mesmo subconjunto da interface de uma classe ou em casos de existirem duas classes diferentes que tem parte de suas interfaces em comum. Extraia o subconjunto para uma interface e use instâncias polimórficas na solução.

Condensar Hierarquia – use quando encontrar uma superclasse e uma subclasse que não são muitos diferentes, no qual a subclasse não está acrescentando em nada. Junte-as na mesma superclasse e apague a subclasse.

Para todas as informações, veja o post inicial.

“Ele foi rejeitado e desprezado por todos; ele suportou dores e sofrimentos sem fim. Era como alguém que não queremos ver; nós nem mesmo olhávamos para ele e o desprezávamos.” Isaías 53:3