terça-feira, 21 de setembro de 2010

Sistema em camadas


O estilo camadas organiza o sistema em camadas hierárquicas. Uma camada pode ser, livremente, definida como um conjunto de sub-sistemas com o mesmo grau de generalidade. Camadas mais altas são específicas da aplicação, camadas mais baixas são de propósito geral, ou seja, utilizadas por diferentes aplicações. Elas funcionam como servidoras para as camadas mais altas e como clientes para as camadas mais baixas. Tradicionalmente, as interações ocorrem somente entre camadas adjacentes.

Os sistemas em camadas possuem várias propriedades desejáveis: eles suportam o design baseado em níveis crescentes de abstração - isto permite implementadores dividirem um problema complexo em uma seqüência de passos incrementais; eles suportam mudanças - porque cada camada interage somente com suas camadas adjacentes, então mudanças em uma camada afetam no máximo duas outras camadas; eles suportam reuso – pois, diferentes implementações de uma mesma camada podem ser usadas, desde que elas possuam as mesmas interfaces para as camadas adjacentes; e a segurança pode ser suportada por camadas específicas para este serviço.

Porém, sistemas em camadas também possuem algumas desvantagens: nem todos os sistemas são facilmente estruturados em camadas; para os sistemas que podem ser estruturados em camadas a questão de performance é delicada, pois há um certo tempo e processamento desperdiçado na comunicação entre camadas; e falhas em uma camada pode tornar o sistema indisponível


Nenhum comentário:

Postar um comentário