Escolar Documentos
Profissional Documentos
Cultura Documentos
● Introdução
● Metodologia
● Conceitos
● Projeto
● Resultados
● Conclusões
Contexto
● Década de 60 Engenharia de Software
○ Surgimento do computador comercial,
video game, video cassete
pode ser feito durante todo o ciclo de vida do software" (Evans, 2015).
Objetivos
O objetivo geral do trabalho foi implementar o padrão de Arquitetura Hexagonal a fim de
entender como ele favorece no desacoplamento do código e como essa arquitetura pode ajudar no
desenvolvimento de software.
Objetivos específicos
● Entender a Arquitetura Hexagonal;
● Mapear os pontos fortes e fracos da implementação da Arquitetura Hexagonal;
● Verificar a qualidade do código.
Tópicos
● Introdução
● Metodologia
● Conceitos
● Projeto
● Resultados
● Conclusões
Metodologia
1 3 5
2 4 6
● Introdução
● Metodologia
● Conceitos
● Projeto
● Resultados
● Conclusões
Arquitetura Hexagonal
● Representada como uma interface que traz o isolamento do domain, nela que
será feito o tratamento dos dados que entram no domain.(GRIFFIN, 2021).
● Um sistema pode possuir várias portas de entrada e de saída sempre localizadas
no hexágono interior, junto às classes de domínio (GRIFFIN, 2021).
Arquitetura Hexagonal
Domain
Inversão de Controle
Tópicos
● Introdução
● Metodologia
● Conceitos
● Projeto
● Resultados
● Conclusões
Levantamento de Requisitos
● Introdução
● Metodologia
● Conceitos
● Projeto
● Resultados
● Conclusões
Resultados
Análise qualitativa :
● Garantia de qualidade de código
● Desacoplamento de código
Nota Cor
Atendeu as expectativas
Não atendeu as
expectativas
Rust Analyze - Garantia de código
Funcionalidade Status
Remover code que não é Ativado
necessário
Remove vírgulas e importações Ativado
triviais
Juntar linhas consecutivas entre ifs Ativado
Destacar breakpoints Ativado
Importar configurações para todos Desativado
os arquivos
Restartar o serviço Desativado
automaticamente por causa de
alguma configuração
Resultados - Garantia de código
Baixo acoplamento do
design de código
(estrutura de pastas)
Cores correspondentes
Pouca dependência de aos resultados
módulos da aplicação
Nota Cor
Funções com
Atendeu as
responsabilidade única expectativas
Não atendeu as
expectativas
Resultado - Desacoplamento de código
CRITÉRIO IMPLEMENTAÇÃO
As interfaces implementadas são
utilizadas no código;
A camada de domain tem apenas
regras de negócio e é agnóstico a Cores correspondentes aos resultados
outras partes do código;
A porta faz chamada apontando Nota Cor
pro domain e os adapters apontam
Atendeu as expectativas
pras portas;
Abaixo das expectativas
Não atendeu as
expectativas
Resultado - Análise da Arquitetura Hexagonal
- Jesse Griffin
CRITÉRIO IMPLEMENTAÇÃO
Não atendeu as
expectativas
Tópicos
● Introdução
● Metodologia
● Conceitos
● Projeto
● Resultados
● Conclusões
Conclusão
Esse trabalho se propôs a implementar a
Arquitetura Hexagonal e a partir disso entender o
sucesso e melhoria na implementação do desacoplamento
de código. Para além disso, verificar a qualidade de
código e comparar o design arquitetural com outras
arquiteturas.
Pontos fracos e fortes
Len Bass, Paul Clements, and Rick Kazman. Software Architecture in Practice. Addison-Wesley
Longman Publishing Co., Inc., Boston, MA, USA, 1998., 2nd edition, April 2003.
Perry, Dewayne E. and Alexander L. Wolf. “Foundations for the study of software architecture.”
ACM SIGSOFT Softw. Eng. Notes 17 (1992): 40-52.
Evans, E.Domain Driven Design Referencia 2015, disponível em <
https://www.ricardopedias.com.br/assets/docs/ddd-referencia.pdf>. Acesso em : 09 out. 2022.
Griffin, J. . Hexagonal-Driven Development. In: Domain-Driven Laravel 2021, Apress, Berkeley, CA.
disponível em < https://doi.org/10.1007/978-1-4842-6023-4_17>. Acesso em: 08 set. 2022.
Cockburn, A. Hexagonal Architecture. 2014. Disponível em: <http://wiki.c2.com/?
HexagonalArchitecture>. Acesso em: 10 ago. 2022.
Muito obrigado!
Dúvidas?