Skip to content
/ APS Public
forked from fmca/APS

Repositório da disciplina APS / CIn [if718]

Notifications You must be signed in to change notification settings

bss3-zz/APS

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 

Repository files navigation

Análise e Projeto de Sistemas

Padrões de Projeto

Para todo padrão visto em sala existe um problema, uma possível solução (usando o padrão de projeto em questão) ilustrada em diagrama e um exemplo em código que pode ser acessado em patterns/src/main/java/.

Adapter

Exemplo

Como adaptar a interface da API externa do Facebook (com.facebook.api.FacebookService [fictícia]) para permitir a comunicação com a interface esperada pela sua aplicação?

Solução

Bridge

Exemplo

Como desacoplar a abstração de uma Imagem da sua implementação para que possam variar de forma independente?

Solução

Composite

Exemplo

Um sistema de gerenciamente de eventos recebe inscrições de estudantes e grupo de estudantes. Grupos de estudantes podem ser compostos por outros grupos de estudantes. (Ex: CIn contém citi, pet etc.). O sistema ainda deve estar preparado a enviar avisos aos inscritos. Como modelar as entidades para que possamos tratar grupos ou estudantes como um único objeto (uniformemente)?

Solução

Factory Method

Exemplo

Companhias aéreas têm o mesmo procedimento do vôo com exceção do tipo de comida que é preparada. Na modelagem, como permitir que cada companhia instancie o seu próprio tipo de Comida?

Solução

![](https://github.com/fmca/APS/blob/master/patterns/src/main/resources/diagrams/factory_method/Factory Method.png?raw=true)

Abstract Factory

Exemplo

Um sistema bancário permite persistir dados tanto em banco de dados relacional quanto em XML. Existem repositórios específicos para cada tecnologia tanto para Cliente quanto para Conta. Como criar a família de repositórios de uma mesma tecnologia sem especificar as classes concretas?

Solução

![](https://github.com/fmca/APS/blob/master/patterns/src/main/resources/diagrams/abstract_factory/Abstract Factory.png?raw=true)

About

Repositório da disciplina APS / CIn [if718]

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%