https://youtu.be/doAQjr0mwdg?si=RlCMMbMgQNxWyB_o
A arquitetura em camadas é um estilo arquitetônico de software que organiza o código em camadas de responsabilidade bem definidas. Em vez de concentrar o código em grandes lotes que se comunicam entre si, temos camadas que promovem modularidade e separação de responsabilidades.
Na arquitetura em camadas, normalmente temos as seguintes camadas:
Uma das principais vantagens da arquitetura em camadas é o isolamento entre as camadas. Cada camada só se comunica com a camada imediatamente acima ou abaixo dela. Isso significa que as solicitações que chegam à arquitetura devem passar por todas as camadas do topo até a base. Essa separação de interesses permite que cada camada se concentre em um aspecto específico do sistema, tornando o código mais organizado e fácil de manter.
Por exemplo, se for necessário alterar a forma como a persistência funciona, sabemos exatamente onde fazer essa alteração: na camada de persistência. Isso facilita a manutenção e evita a necessidade de modificar todo o sistema.
Existem diversos padrões de projetos e arquiteturas que podem ser utilizados em conjunto ou como alternativa à arquitetura em camadas. Alguns dos mais conhecidos incluem:
O padrão MVC é amplamente utilizado no desenvolvimento de aplicações web. Ele divide a aplicação em três componentes principais:
O padrão MVVM é frequentemente utilizado em aplicações de desktop e móveis. Ele se baseia em três componentes principais: