Pergunta

Quais são os benefícios de uma arquitetura N de camada N? Como isso torna um aplicativo melhor?

Foi útil?

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

  1. Reutilização de camadas
  2. Suporte para padronização
  3. Dependências são mantidas locais
  4. 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.

A arquitetura em camadas explicou

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top