Padroes de projeto
Sponsored Links
This presentation is the property of its rightful owner.
1 / 15

PADROES DE PROJETO PowerPoint PPT Presentation


  • 68 Views
  • Uploaded on
  • Presentation posted in: General

PADROES DE PROJETO. PROF. OSIEL MARLON. PADRÕES DE PROJETO. INTRODUÇÃO

Download Presentation

PADROES DE PROJETO

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


PADROES DE PROJETO

PROF. OSIEL MARLON


PADRÕES DE PROJETO

  • INTRODUÇÃO

  • Padrões de projeto têm emergido como uma das mais promissoras abordagens para a melhoria da qualidade de software. Eles enfatizam a identificação e comunicação entre pessoas de elementos dos melhores exemplos e práticas em software.

  • Entretanto, não substituem as abordagens correntes, e sim as complementam com o preenchimento de lacunas que não estavam sendo tratadas adequadamente.

  • A principal lacuna é a deficiência no compartilhamento dos melhores exemplos e práticas em software.

    • O enfoque nestes aspectos tem gerado um grande número de “soluções” para os problemas do software que não tem tido os resultados práticos esperados, agravando o que é conhecido como a “crônica crise do software”.


  • Os padrões de projeto tornam mais fáceis reutilizar projetos e arquiteturas bem-sucedidas.

  • Ajudam a escolher alternativas de projeto que tornam um sistema mais reutilizável e a evitar alternativas que comprometam a utilização.


PRINCIPAIS CONCEITOS

  • A idéia central de Padrões de Projeto está fortemente baseada nos trabalhos de Christopher Alexander, que propôs uma nova atitude para arquitetura, construção e planejamento de cidades, comunidades, prédios e casas.


  • Um padrão descreve uma solução para um problema que ocorre com freqüência durante o desenvolvimento de software, podendo ser considerado como um par “problema/solução”.

  • Os padrões de software podem se referir aos diferentes níveis de abstração no desenvolvimento de sistemas orientados a objetos.


  • Um padrão de projeto sistematicamente nomeia, explica e avalia um projeto importante e recorrente em sistemas orientados a objetos, descrevendo “moldes” para a arquitetura de software.


ELEMENTOS ESSENCIAIS

  • A abordagem Padrões de Projeto pode ser definida por meio de quatro perspectivas complementares: nome, problema, solução, conseqüências.

  • Nome - referência a descrição de um problema de projeto, suas soluções e conseqüências, em uma ou duas palavras. Dar nome a um padrão aumenta imediatamente o vocabulário de projeto.

  • Problema - descreve quando aplicar um padrão, defi nindo o contexto do sistema, as estruturas de classe e a lista de condições que devem ser satisfeitas para que faça sentido aplicar o padrão.

  • Solução - descreve os elementos que compõem o projeto, seus relacionamentos, suas responsabilidades e colaborações, além de mostrar um arranjo geral de elementos que resolvem um determinado problema. É feito o uso de UML para descrição de soluções.

  • Conseqüências: é feita uma análise crítica do padrão fornecido, incluindo vantagens, desvantagens e limitações, definindo elementos que infl uenciam decisivamente na escolha de um padrão, como solução para um problema.


CLASSIFICAÇÃO DE PADRÕES

  • Padrões se referem à comunicação de problemas e soluções, permitindo documentar um problema conhecido recorrente a sua solução em um contexto específico, repassando esse conhecimento para outras pessoas.

  • Padrões de projeto – descrevem soluções para problemas de projeto de software.

  • Padrões de interface – defi nem soluções para problemas comuns no projeto de interfaces de sistemas.

  • Padrões de programação – descrevem soluções de programação particulares de uma determinada linguagem de programação ou regras gerais de estilo de programação.

  • Padrões de persistência – descrevem soluções para problemas de armazenamento de informação em arquivos ou bancos de dados.

  • Padrões para hipertextos – descrevem soluções para problemas encontrados no projeto de hipertextos.

  • Padrões para hipermídia – descrevem soluções para problemas encontrados no desenvolvimento de aplicações multimídia.


EXEMPLO DE UMA ARQUITETURA

  • Um padrão de projeto servirá para auxiliar o trabalho, comunicação e entendimento entre os desenvolvedores sobre a natureza do problema.

  • Um exemplo de padrão, que será mostrado como exemplo, é o façade (fachada) [Gamma]. A finalidade do façade é estabelecer uma única interface de comunicação entre a classe cliente e a classe de negócio.

  • A utilização deste padrão facilita na manutenção, portabilidade e produção de novos sistemas, já que toda a comunicação entre as classes já foi estabelecida.


  • Dentre os benefícios que se obtêm com a implementação do fachada, podem ser destacados:

    • separação entre os clientes e os componentes do subsistema, diminuindo o número de objetos que têm que se comunicar com os clientes;

    • baixo acoplamento entre o subsistema e os clientes, permitindo que haja alterações dos componentes do subsistema sem que isso afete os clientes;

    • não há restrições, caso seja necessário utilizar as classes do sistema nas aplicações, sendo possível optar por facilidade de uso ou generalidade.


Facade-Fachada

  • Estrutura-Uma única interface é definida para comunicação com o banco de dados.

Padrão Façade aplicado a uma classe de um projeto.


Facade-Fachada

  • Considerações sobre implementação

    • Redução do acoplamento do cliente-subsistema.

      • Ocorre tornando o Facade uma classe abstrata com subclasses concretas.

    • Classe de subsistemas: públicas ou privadas ?

      • A classe Facade deve ser naturalmente pública. As classes envolvidas no processo podem ser privadas, mas por convenção de padronização independente de linguagem de programação devem ser públicas.


Considerações Finais

  • Ao usar um padrão de projeto é importante:

    • Ler e entender o padrão por inteiro;

    • Estudar como os padrões se interrelacionam;

    • Estudar padrões com finalidades semelhantes;

    • Definir de maneira clara as classes e operações que suportem as responsabilidades e colaborações presentes no padrão.

  • Os padrões de projetonãodevem ser aplicados indiscriminadamente, mas apenas quando a flexibilidade que eles oferecem é realmente necessária.


Referência Bibliográfica

  • Salviano, Clenio. Introdução à Software Patterns

  • Tutorial SBES’97

    ftp://st.cs.uiuc.edu/pub/patterns/presentations/nswpatt.zip

  • Alur,Deepak- Core J2EE patterns: as melhoeres práticas e estratégias de design

  • Gamma,Erich et all- Padrões de projeto:Soluções reutilizáveis de software orientada a objeto


  • Login