Arquitetura de Software não é receita de bolo

Túlio Magalhães
tulio.magalhaes
Published in
2 min readSep 3, 2020
bolo

É estranho essa afirmação mas não ache que arquitetura de software é receita de bolo e que é só pegar o que alguns blogs, pessoas e empresas falam que você estará fazendo o certo, arquitetar uma aplicação vai muito mais além.

Muita das vezes vejo discussões de pessoas dizendo Microserviço é melhor que Monolito, App Modular é melhor que um App Monolito, MVVM é melhor que MVP, etc. E na grande maioria das vezes essas pessoas nem sabem a motivação de estarem utilizando esses conceitos, muita das vezes leram em um livro ou algum autor famoso disse algo a respeito, mas nem se quer entenderam de fato a aplicabilidade e já querem aplicar em seu software.

Esses tipos de discussões só fazem sentido quando realmente algum problema bate na porta ou a aplicação está exigindo um crescimento ou uma expansão maior na sua arquitetura. Não faz o menor sentido você resolver um problema que não tem ou ter que escrever mais código para tentar prever o futuro. Fazendo isso a única coisa que você ganha é dor de cabeça.

Quando não se sabe o tamanho que um software pode chegar ou quando se está no início de um projeto que não tem um rumo certo, ou até mesmo o nível de complexidade, o ideal é pisar no chão e começar com o simples, pois quando for necessário resolver problemas mais complexos, aí sim repense sua arquitetura.

No mundo mobile por exemplo existem N formas de estruturar sua aplicação, MVVM, MVP, Clean, Modular, etc. Não quer dizer nada que por você estar usando qualquer um desses que seu app estará bem arquitetado.

Uma dica é você entender seu problema, o nível de cada membro da equipe e ir amadurecendo conforme a necessidade, porque a arquitetura da sua aplicação deve ser viva.

Me siga nas redes e fique por dentro de mais publicações:

Twitter: twitter.com/tuliohmagalhaes
Instagram: instagam.com/tuliohmagalhaes
Facebook: fb.com/tuliohmagalhaes
Telegram: t.me/tulio_magalhaes

--

--

Túlio Magalhães
tulio.magalhaes

Android Software Engineer and Flutter Enthusiastic that loves clean code, scalability and testability.