Quais são os benefícios de uma arquitetura N de camada N?
-
26-09-2019 - |
Pergunta
Quais são os benefícios de uma arquitetura N de camada N? Como isso torna um aplicativo melhor?
Solução
A partir de aqui:
- Outros aplicativos poderão reutilizar a funcionalidade exposta por suas camadas.
- Você poderá distribuir suas camadas por várias camadas físicas. Isso pode causar um impacto muito bom no seu aplicativo, melhorando o desempenho (às vezes), a escalabilidade e a tolerância a falhas.
- A manutenção do seu aplicativo é mais fácil devido ao baixo acoplamento entre as camadas.
- Adicionar mais funcionalidade ao seu aplicativo é facilitado.
- As camadas tornam seu aplicativo mais testável.
- Construir uma camada bem formada torna a orientação em seu aplicativo mais fácil.
- Ter seu aplicativo não em camadas significa que você precisa lidar com todas as ameaças à segurança em um só lugar, o que é muito difícil. Ter seu aplicativo distribuído para camadas facilita muito o design e a implementação
- Sem um bom plano de implantação, não é trivial distribuir suas camadas por várias camadas físicas na computação distribuída. Você precisa planejar com antecedência suas camadas ao criar um aplicativo distribuído.
Outras dicas
A manutenção e os aprimoramentos na solução são mais fáceis devido ao baixo acoplamento entre camadas, alta coesão entre as camadas e a capacidade de alternar implementações variadas das interfaces da camada.
Outras soluções devem ser capazes de reutilizar a funcionalidade exposta pelas várias camadas, especialmente se as interfaces da camada forem projetadas com a reutilização em mente.
O desenvolvimento distribuído é mais fácil se o trabalho puder ser distribuído nos limites da camada.
A distribuição das camadas por várias camadas físicas pode melhorar a escalabilidade, a tolerância a falhas e o desempenho. Para obter mais informações, consulte o padrão de distribuição em camadas.
A testabilidade se beneficia por ter interfaces de camada bem definida, bem como a capacidade de alternar várias implementações das interfaces da camada.
Resumo
Benifits são
- Reutilização de camadas
- Suporte para padronização
- Dependências são mantidas locais
- Trocabilidade
FIRS de todos, a arquitetura em camadas é um tipo de "design modular". Portanto, para apreciar os benefícios da arquitetura em camadas, é preciso saber o que é o design modular. Em segundo lugar, é um tipo especial de design modular, especificamente organizado para gerenciar dependências, a fim de minimizar o acoplamento rígido, alcançando assim os objetivos do design modular - Modles/componentes autônomos. Quando temos módulos autônomos/independentes, eles podem ser reutilizados, estendidos, testados e assim por diante, em comparação com o caso em que a arquitetura/design não é modular.
Eu tenho um artigo sobre arquitetura em camadas, onde discuto essas coisas com mais detalhes. Pode ser útil.