Arquitetura
- A arquitetura deve evoluir conforme as necessidades do negócio.
- Microserviços não são a solução ideal para todos os cenários.
- A modularização é uma solução atemporal e resolve vários problemas.
- A adoção de Clean Architecture ou Hexagonal Architecture pode atrasar o projeto.
- A escolha da arquitetura certa é mais importante do que seguir modas.
Design
- Abstrações desnecessárias podem aumentar a complexidade.
- DDD é sobre compreender e lidar com a complexidade do negócio, não sobre siglas ou organização de ficheiros.
- Design Patterns não são padrões universais de design.
- Soluções simples têm maior durabilidade.
Complexidade
- A complexidade cresce com o negócio.
- Complexidade representa custos, mesmo que não seja visível.
- A complexidade prematura pode prejudicar a evolução do projeto.
- Reduzir a complexidade inicial não impede o crescimento futuro.
Modelagem
- UML ainda apresenta diagramas úteis.
- Modelar processos reduz custos de implementação.
- Diagramas claros facilitam o desenvolvimento.
- Modelar antecipadamente melhora a comunicação da equipa.
- Modelos bem feitos tornam a manutenção e evolução do sistema mais simples.
Cloud
- Soluções em cloud podem ser caras e exigem um planeamento cuidadoso.
- Escalabilidade infinita tem um custo elevado; otimize os recursos sempre que possível.
- Existe muito hype, mas poucas implementações realmente bem-sucedidas.
- Nem todos os projetos precisam de soluções baseadas em cloud.
Big Techs
- Começaram com soluções simples e imperfeitas.
- As arquiteturas atuais são o resultado de décadas de evolução.
- Investem milhões para gerir a complexidade.
- Contam com equipas grandes e especializadas.
- Não se deve comparar a sua realidade com o contexto delas.
Conheça o Seu Contexto
- Não é Google, Microsoft, Facebook ou Netflix.
- Comece pequeno: opte por um monólito e utilize MVC.
- A complexidade que imagina pode não ser necessária de imediato.
- Cresça de forma gradual, com base nas necessidades reais.
Top comments (0)