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

Servir: Um Modelo de Liderança Inspirado em Cristo

Um Modelo de Liderança Inspirado em Cristo A paz, meus irmãos! Este é um tema que me fascina e que tem ganhado destaque nos últimos anos. Diversos livros, autores e pensadores têm defendido o conceito de liderança servidora. Minha introdução a essa ideia veio inicialmente da Bíblia, ao ler o Evangelho de João, onde Cristo lava os pés de seus discípulos e os serve com humildade e respeito: “Se eu, Senhor e Mestre, vos lavei os pés, também vós deveis lavar os pés uns aos outros.” ( João 13:14 ) Esse exemplo de Cristo é a essência do serviço. Ao longo do tempo, outros autores abordaram o tema em obras como O Monge e o Executivo de James C. Hunter, A Volta do Monge e Do Monge ao Mosteiro . Além disso, livros como Líderes Se Servem por Último , de Simon Sinek, reforçam a importância de servir como fundamento da liderança. Essas obras compartilham um princípio em comum: um líder que serve transforma não apenas os resultados, mas também os relacionamentos. No entanto, ao assumir posições d...

Sistema de Três Gerações: Uma Reflexão Sobre Tecnologia e Legado

Uma Reflexão Sobre Tecnologia e Legado Confesso que, às vezes, me sinto privilegiado na minha carreira por ter tido a oportunidade de trabalhar com sistemas de diversas gerações, cada um com suas qualidades e peculiaridades. Recentemente, tive uma experiência interessante que gostaria de compartilhar com vocês. A Consultoria que Revelou uma História Durante este ano, meu cunhado pediu que eu realizasse uma consultoria na empresa onde trabalha para analisar o sistema que utilizam. Para minha surpresa, descobri que a empresa está na terceira geração de donos! Os fundadores ainda estão vivos e me contaram que começaram pequenos, viram o negócio crescer dia após dia, e hoje possuem uma grande empresa com inúmeros funcionários. O mais curioso? Eles utilizam um sistema que está funcionando há mais de 20 anos. O Sistema que “Nunca Funcionou Bem” O sistema foi desenvolvido em VB, conectado diretamente a um banco de dados. Quando ouvi isso, pensei: “Sim, há sistemas em COBOL rodando até hoje, e...