RANT: Criando Complexidades no Coração do Software

Um de meus temas de estudo preferidos no campo de desenvolvimento é design patterns. Isso sempre me levou a refletir sobre o porquê das pessoas utilizarem tais padrões, sem que o problema que o padrão se propõe a resolver sequer exista!

Recentemente pude ver uma aplicação corporativa criada para fazer importação de planilhas para tabelas de banco, que por alguma razão foi construída utilizando conceitos de DDD e uma arquitetura de quatro camadas. A camada de Domínio, por exemplo, possuía as classes Coluna e Tabela (e esta última tinha uma lista de Colunas como atributo).

Sigo me questionando: [tweet]por que gerar complexidade para atacar complexidade que não existe?[/tweet]

NOTA DO ELEMAR: Este post é de autoria do Gabriel Vargas. Mas, eu sempre me faço a mesma pergunta. Afinal, complexidade é custo!

Compartilhe este insight:

Uma resposta

  1. Se fosse um “SaaS” para importação de planilhas, até tentaria defender, mas acredito que qualquer console application “boba” serviria para o caso em questão. Também vejo muitos devs fazendo over engineering e usando “DDD” para aplicações com funcionalidades extremamente simples. Talvez, não tenham entendido o título do livro de Evans.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Elemar Júnior

Sou fundador e CEO da EximiaCo e atuo como tech trusted advisor ajudando diversas empresas a gerar mais resultados através da tecnologia.

Elemar Júnior

Sou fundador e CEO da EximiaCo e atuo como tech trusted advisor ajudando diversas empresas a gerar mais resultados através da tecnologia.

Mais insights para o seu negócio

Veja mais alguns estudos e reflexões que podem gerar alguns insights para o seu negócio:

Ao utilizar recursos não gerenciados, em .NET, precisamos garantir que estes sejam devidamente liberados. Para isso, quando criamos classes que...
In the previous post, I asked which function, in the following code, would fill the array with 1’s faster and...
This is another post about how to implement a basic Search Engine. Previously, I explained: how to produce an inverted...
Sabemos que é  inevitável que diferentes áreas da empresa busquem e utilizem mais de uma solução de software, com frequência...
Como consultor, tenho a oportunidade de ajudar desenvolvedores, arquitetos e executivos a desenvolver soluções em TI que atendam os objetivos...
Neste post, compartilho um exemplo de implementação para um algoritmo extremamente famoso e importante: O algoritmo de Dijkstra. Trata-se de...
× Precisa de ajuda?