Arquitetura de Sistemas x Design Pattern TI
É comum as pessoas dizerem que se utilizarem um design
pattern a aplicação estará separada em camadas, como é normal
ouvir quando as pessoas falam de MVC. Mas será que design
pattern não está sendo confundido com arquitetura de sistemas?
Um sistema multicamadas é quando as partes de um sistema estão
separadas fisicamente. Por exemplo: em um sistema de 3
camadas a separação seria entre a
"Regra de negócio: um desafio para o desenvolvedor" href=
"http://www.profissionaisti.com.br/2012/12/regra-de-negocio-um-desafio-para-o-desenvolvedor/">
regra de negócio em um servidor, o banco de dados em
outro e a apresentação em outro. Já
"O conceito e as dúvidas sobre o MVC" href=
"http://www.profissionaisti.com.br/2014/10/o-conceito-e-as-duvidas-sobre-o-mvc/">
o MVC é um design pattern, ou padrão de projeto, que é
utilizado para organizar a aplicação em camadas lógicas para
facilitar a manutenção de um sistema, ou seja, o sistema
é dividido em diversos pacotes dentro de uma mesma solução
para que o desenvolvimento do mesmo seja melhor
interpretado.
Muitas vezes esses assuntos se confundem porque para se ter um
sistema multicamadas, é quase que obrigatório utilizar um
design pattern para fazer a separação lógica do código e depois
a separação física, mas para utilizar um design pattern não é
necessário ter uma arquitetura multicamadas. O MVC, design
pattern criado na década de 70, ainda é um dos mais utilizados
nas aplicações atualmente devido a sua flexibilidade, pois
pode integrar-se com as diversas linguagens de programação:
ASP.Net, Java, C#, Python, Ruby on Rails, entre outras.
As vantagens de utilizar uma arquitetura multicamadas
em seu projeto são as seguintes:
- A aplicação se torna mais independente, pois é possível dar
manutenção em apenas uma camada sem afetar as demais;
- Garantir a maior segurança do código da aplicação, uma vez
que cada camada (servidor) terá um tipo de segurança diferente;
- Economia de licenças de software (por exemplo banco de
dados), pois uma camada de banco de dados poderá ser
compartilhada com diversos usuários / aplicações;
O desenvolvimento visando a arquitetura multicamadas é
uma boa prática, mas cada caso é um caso. Existem cenários que
não é vantajoso utilizá-lo:
- Quando é um sistema pequeno que não exige muita segurança
devido a sua utilização, a arquitetura multicamadas deixará o
projeto mais complexo sem necessidade;
- Quando não se deseja fazer reutilização dos componentes de
uma aplicação, a complexidade do projeto também será alta sem
necessidade.
Quando você for desenvolver um novo projeto e já definir que
ele terá uma arquitetura multicamadas, primeiro análise os
requisitos e a complexidade do projeto para depois chegar na
conclusão de utilizar ou não a arquitetura multicamadas. Cada
aplicação tem uma necessidade e toda satisfação da necessidade
gera um custo, garantindo a qualidade e a segurança definida
pelo cliente (interno/externo) que solicitou o projeto.
0 comments:
Post a Comment