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.
 
"http://s.profissionaisti.com.br/wp-content/uploads/2014/04/duvida-desenvolvedor-software.jpg"
alt="Imagem via Shutterstock" width="580" height="300">
 Imagem via 
 "http://www.shutterstock.com/pt/pic-128395133/stock-photo-young-man-with-laptop-has-an-idea.html"
 target="_blank">Shutterstock
 
 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