Pular para o conteúdo principal

A Importância de Entender a Origem dos Conceitos em Arquitetura de Software


Ao longo da minha carreira como desenvolvedor, recrutador e líder de projetos, uma questão sempre chamou minha atenção: a diferença entre seguir um padrão por compreender sua essência ou simplesmente aplicá-lo como uma regra inflexível. Um exemplo clássico disso pode ser observado na adoção da Arquitetura Limpa, popularizada pelo Uncle Bob (Robert C. Martin), especialmente no contexto de casos de uso.


Casos de Uso: Compreensão Essencial e Prática


Minha primeira interação com o conceito de casos de uso aconteceu enquanto eu estudava UML (Unified Modeling Language). Na época, trabalhando com programação estrutural e começando a explorar a orientação a objetos, fiquei fascinado com a ideia de mapear ações do usuário diretamente para funcionalidades do sistema. Era como assistir as interações do mundo real ganharem vida no código.


O conceito básico é simples: um caso de uso representa uma interação significativa. Exemplos incluem registrar devoluções de um livro, realizar o onboarding de um cliente, ou gerenciar reservas em um sistema. No entanto, ao longo do tempo, vi a ideia original se perder em projetos onde o entendimento sobre os casos de uso era superficial. Casos de uso foram transformados em funções genéricas, como “AddBookUseCase”, sem considerar a essência prática que deveria guiá-los.


A Subversão dos Conceitos ao Longo do Tempo


Isso não ocorre apenas com casos de uso. Em muitos projetos, a essência de conceitos fundamentais é desvirtuada pelo uso inadequado ou por um entendimento parcial. Recentemente, vi um exemplo curioso: um desenvolvedor questionava algo sobre UML em um post, sem saber que estava respondendo ao próprio criador da metodologia. Esse tipo de desconexão mostra como a história e os propósitos originais de uma ferramenta ou padrão podem se perder.


https://www.reddit.com/r/MurderedByWords/comments/1676zgq/i_guess_maybe_he_does_know_something_about_uml/?rdt=38576


O impacto disso no dia a dia de projetos é significativo. Quantas vezes vemos sistemas sobrecarregados com camadas e mais camadas de indireção porque alguém insistiu em seguir um padrão sem compreender sua aplicabilidade?


A Reflexão: A Base É Essencial


O grande aprendizado aqui é: compreender a base é essencial para aplicar qualquer padrão ou arquitetura de maneira eficaz. Para isso:


  1. Revisite os conceitos fundamentais: Releia livros, estude a origem dos padrões e entenda as motivações que levaram os autores a propor tais ideias.
  2. Avalie o contexto: Nem todo padrão se aplica a todos os projetos. Pergunte-se: este padrão agrega valor ao meu sistema no estágio atual de maturidade?
  3. Pondere os prós e contras: Camadas adicionais de complexidade valem o benefício que você está tentando alcançar?
  4. Respeite o objetivo original: Ao adotar um padrão, tente implementá-lo da maneira mais próxima possível da visão do autor, adaptando-o às suas necessidades apenas com entendimento claro.


Conclusão


O que faz sentido para um projeto em um contexto pode ser completamente inviável em outro. Não existe uma arquitetura perfeita, mas sim uma arquitetura adequada para um momento específico. Como desenvolvedores, líderes ou mesmo aprendizes, nosso objetivo deve ser construir sistemas que sejam eficientes e compreensíveis, em vez de tentar “encaixar” padrões pelo simples fato de serem populares.


Ao refletir sobre isso, concluo que a melhor prática é manter-se curioso, revisitar conceitos básicos e estar sempre aberto a adaptar e aprender. Afinal, tecnologia é um campo de constante evolução, mas os princípios sólidos nunca saem de moda.


Um grande abraço e até logo!

Comentários

Postagens mais visitadas deste blog

Arquitetura de Computadores: Lembranças de um Fundamento Esquecido

Introdução: Um olhar para trás para entender o agora Talvez esteja ficando cada vez mais raro, mas vale a pena perguntar: você já parou para refletir sobre como o computador realmente funciona por dentro? Quando comecei meus estudos na área de tecnologia, por volta de 2008, um dos primeiros tópicos que exploramos era a estrutura e arquitetura dos computadores. Isso não era por acaso — era essencial entender como o hardware e o software se relacionavam. Muitas vezes, um simples programa precisava ser compilado e executado na mesma máquina, com a mesma arquitetura, para funcionar corretamente. Não havia tanta abstração como temos hoje. Recentemente, ao iniciar o curso de Ciência de Dados na Univesp, tive a oportunidade de revisitar esse tema. E me surpreendi ao perceber como muitos conceitos fundamentais continuam relevantes, apesar de estarem, em muitos casos, esquecidos no dia a dia de quem desenvolve software. Este artigo é um convite a revisitar esses fundamentos. Vamos juntos re...

Josias: Um Exemplo de Restauração e Obediência

A Paz, meus irmãos! Hoje gostaria de compartilhar com vocês uma reflexão sobre Josias, um dos reis que realizou ações emblemáticas em Israel. Sua história é narrada com profundidade no Segundo Livro de Reis, e suas atitudes são um exemplo poderoso de restauração espiritual e obediência à vontade de Deus. Vamos explorar o contexto histórico e as lições que podemos aprender com esse grande líder. O Contexto Histórico dos Reis de Israel Para entender a importância de Josias, precisamos voltar um pouco na história dos reis de Israel: Saul foi o primeiro rei, reinando por quase 40 anos. Esbozete, seu filho, reinou por aproximadamente 7 anos. Davi governou por 40 anos, seguido por Salomão, que também reinou por 40 anos. Apesar de Davi ser um homem segundo o coração de Deus (1 Samuel 13 … e versículo 14), ele permitiu que práticas pagãs começassem a se infiltrar em Israel. Salomão, por sua vez, se corrompeu ao final de seu reinado, introduzindo idolatrias e outros costumes abomináveis (1 Reis...

Corra em Direção à Ação: Reflexões Cristãs Sobre Liderança e Propósito

O capítulo 6 do livro Liderar é Simples, Mas Não é Fácil, do almirante William McRaven, apresenta o princípio “Corra em direção à ação”. Esse conceito ressalta a importância de assumir o protagonismo e colocar-se em movimento, mesmo diante de desafios. Em um trecho que grifei, ele diz: “Porque se você vai ser o rosto da solução, isso provavelmente significa que você teve uma parcela de culpa no problema. Boas lideranças entendem que as organizações terão desafios, e é por isso que você foi contratado para liderar.” Baseado nisso, convido você a refletir sobre um aspecto crucial da vida cristã: como agir com base nos princípios da Palavra de Deus. Ação e Protagonismo na História Bíblica Imagine o que teria acontecido se os discípulos não tivessem se deixado mover pelo Espírito Santo. Em Atos capítulo 2 e versículo 4, lemos: “Todos ficaram cheios do Espírito Santo e começaram a falar noutras línguas, conforme o Espírito os capacitava.” A partir desse momento, eles foram tomados pelo Cons...