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:

Implementing synchronization for multiple threads in .NET is easy. There are a lot of options for doing that – for...
Neste post, apresento o conceito de “Dívida Técnica” (não é débito, é dívida). Explico por que nem sempre elas são...
Quando pensamos sobre o código-fonte do Roslyn, deveríamos pensar em performance! Eu gostaria de compartilhar algumas técnicas de performance e...
Crescer implica, invariavelmente, em aumentar a produtividade, ou seja, na melhoria da relação entre a capacidade de gerar valor e...
Last post, I asked an explanation about the execution result of the following code. using System; using System.Threading.Tasks; using static...
For years, I have known developers who designed beautiful architectures. A lot of them are questioning the need for a...
× Precisa de ajuda?