Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create posts “arquitetura-hexagonal-introducao” #36

Merged
merged 1 commit into from
Dec 6, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 36 additions & 0 deletions posts/arquitetura-hexagonal-introducao.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
---
layout: post
title: "Arquitetura Hexagonal: Introdução"
description: Conheça um pouco sobre Arquitetura Hexagonal
image: /assets/images/hexagonal.png
date: 2023-12-06 02:22:05
tags:
- Books
---
Olá, entusiastas da programação! Hoje, gostaria de discutir uma abordagem arquitetônica que tem conquistado espaço no desenvolvimento de software: a Arquitetura Hexagonal, também conhecida como Arquitetura de Ports and Adapters. Vamos explorar seus princípios fundamentais e analisar suas vantagens e desvantagens.

## **Introdução:**

A Arquitetura Hexagonal, concebida para criar sistemas mais flexíveis e testáveis, propõe uma organização em camadas concêntricas. No cerne, encontra-se o domínio de negócios, cercado por camadas de portas e adaptadores. As portas definem as interfaces de comunicação com o domínio, enquanto os adaptadores implementam essas interfaces para integrar o sistema ao ambiente externo.

## **Desenvolvimento:**

*Portas* são interfaces que estabelecem operações entre o sistema e o mundo externo, representando contratos que encapsulam a lógica de negócios. *Adaptadores*, por sua vez, são as implementações concretas dessas portas, traduzindo chamadas externas em operações compreendidas pelo núcleo do domínio.

Um exemplo prático pode ser observado em um sistema de comércio eletrônico. Portas podem ser definidas para operações como persistência de dados, processamento de pagamentos e notificações. Adaptadores específicos seriam responsáveis por implementar essas operações, conectando o sistema a diferentes tecnologias e serviços.

## **Vantagens:**

1. **Modularidade:** A Arquitetura Hexagonal promove a divisão clara de responsabilidades, facilitando a substituição ou adição de novos componentes sem impactar o núcleo do sistema.
2. **Testabilidade Aprimorada:** A separação entre portas e adaptadores facilita a criação de versões de teste para as portas, isolando o núcleo do domínio de dependências externas, o que contribui para testes mais eficazes.
3. **Flexibilidade:** A estrutura hexagonal torna o sistema mais adaptável a mudanças, permitindo a evolução independente de diferentes partes do código.

## **Desvantagens:**

1. **Complexidade Inicial:** A implementação da Arquitetura Hexagonal pode parecer complexa no início, especialmente para desenvolvedores menos familiarizados com o conceito.
2. **Overhead de Código:** A necessidade de criar interfaces e adaptadores pode resultar em um maior volume de código, o que, em alguns casos, pode parecer excessivo para projetos menores.
3. **Curva de Aprendizado:** A equipe de desenvolvimento pode precisar de tempo para se acostumar com a abordagem hexagonal, aumentando a curva de aprendizado, principalmente em equipes menos experientes.

## **Conclusão:**

A Arquitetura Hexagonal oferece uma estrutura robusta para o desenvolvimento de software, promovendo a separação de preocupações e proporcionando benefícios como modularidade, testabilidade e flexibilidade. No entanto, é essencial avaliar as características específicas do projeto antes de decidir pela adoção dessa arquitetura, considerando tanto as vantagens quanto as desvantagens apresentadas. Em muitos casos, a complexidade adicional pode ser justificada pelos benefícios a longo prazo que essa abordagem oferece.
Binary file added public/assets/images/hexagonal.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading