Padrões de Projeto e Arquitetura em Camadas - ppt video online carregar
Padrões de Projeto e Arquitetura em Camadas
PublicouRayssa Mosso Alterado mais de 3 anos atrás
Apresentação em tema: "Padrões de Projeto e Arquitetura em Camadas"— Transcrição da apresentação:
1 Padrões de Projeto e Arquitetura em Camadas
Monitoria IP/CC (~if669)
2 Roteiro Padrões de Projeto Arquitetura em Camadas Considerações Finais
Camada de Dados Camada de Negócio Fachada; Camada de Interface Gráfica do Usuário Considerações Finais Referências
3 Padrões de Projeto Padrões de projeto são estratégias adotadas para o desenvolvimento de sistemas com programação orientada à objetos. Alguns de seus benefícios são a padronização de termos e metodologias utilizados para a resolução de problemas em software. A utilização de padrões de projeto auxilia programadores "orientados à objetos" a resolver os mais diversos e complexos problemas.
4 Padrões de Projeto Ao utilizar O.O. na resolução de um problema, um programador utiliza ao menos um padrão de projeto – mesmo sem saber que o tenha feito. Existem vários padrões. Os principais compõem a literatura sobre o assunto e podem ser encontrados na sessão de referências. São geralmente utilizados em conjunto, unindo diferentes padrões de projeto de acordo com a necessidade do programador.
A arquitetura em camadas une conceitos de alguns padrões de projetos para o desenvolvimento prático e eficiente de um sistema computacional. Através dessa arquitetura, uma aplicação é racionalmente modularizada (mais modularidade, menos acoplamento entre módulos). Alguns benefícios de sua utilização são: Reusabilidade; Extensibilidade;
Na prática, consiste em dividir a aplicação em módulos que possuem interfaces bem definidas (para estabelecer comunicação entre eles). Diferentes módulos da aplicação contém código relacionado a funcionalidades específicas e se comunicam apenas com módulos adjacentes. Classes relacionadas são agrupadas em pacotes referentes a uma camada que trata de uma funcionalidade específica. No modelo mais básico, são definidas quatro camadas: de dados; de negócio; de fachada; e de interface com o usuário.
Demonstraremos a utilização da arquitetura em quatro camadas: GUI – Interface Gráfica do Usuário Fachada Negócio Dados
8 Camada de Dados Responsável pela funcionalidade de armazenamento e acesso a dados do sistema. A camada de dados agrupa as classes que implementam estruturas de dados e pode também conter aquelas que representam as entidades. Ex.: Cliente Dados Conta RepositorioClientes RepositorioContas
9 Camada de Negócio Constituída por classes que definem as regras de negócio do sistema. As regras de negócio são inerentes à aplicação e independem da forma de armazenamento, comunicação, interface com usuário, etc. Ex.: BancoClientes Negócio BancoContas
10 Fachada A fachada provê uma interface de acesso aos módulos das camadas mais baixas, unindo as possíveis funcionalidades fornecidas por elas. Pode ser usada para diferenciar tipos de acesso ao sistema. Por exemplo, um administrador deve ter acesso ao método excluirUsuário, mas um usário comum não. Ex.: FachadaAdm Fachada FachadaUser
11 Camada de Interface com Usuário (GUI)
A GUI agrupa as classes que definem como a aplicação é exibida ao usuário e que são a interface de interação entre ele e o sistema. O código que compõe esta camada depende da tecnologia utilizada: HTML, Swing, modo-text, etc; Ex.: FrameATM GUI – Interface Gráfica do Usuário FramePrincipal FrameCadastro
12 Considerações Finais A camada de dados é qualificada como uma camada burra. No código que compõe as suas classes, não é feita qualquer verificação de dados mas apenas acesso e armazenamento desses. A verificação é feita no código das classes da camada de negócio – responsável pelo gerenciamento das regras de negócio inerentes à aplicação. Obs.: eventualmente – a depender da modelagem do problema – métodos da camada de dados podem levantar exceções – geralmente, aquelas referentes a erros aos quais as estruturas de dados estão vulneráveis.
13 Considerações Finais Duas palavras-chave na arquitetura em camadas são modularidade e acoplamento. Modularidade diz respeito à capacidade das classes de camadas distintas independerem umas das outras. Isto é proporcionado em especial pelo uso de interfaces. Acoplamento remete ao modo como classes de diferentes camadas se comunicam (instanciam, estendem, etc.)
14 Considerações Finais É comum encontrar diferentes modelagens da arquitetura em camadas. Por exemplo, algumas definem classes básicas (entidades) na camada de negócios, outras na camada de dados, existem também aquelas que criam uma camada à parte apenas para gerenciamento dessas classes. Portanto, é possível modelar o mesmo problema de diferentes maneiras. Mas é necessário sempre prezar pelo mínimo acoplamento entre os módulos.