Olá pessoal, estou cursando uma pós sobre java e tenho que relacionar classes da api java que utilizam os design patterns adapter, composite e facade indicando quais são as classes que as utilizam. Será que alguém tem alguma dica ? Obrigado.
Dentro do Java SE:
- como citado ai no blog da Caelum, InputStream faz um bonito template method
- o proprio InputStream tem decorators (FileInputStream com BufferedInputStream por exemplo)
- String internamente usa um Flyweight nao muito poderoso (ja que pode so envolver uma unica outra String)
- java.awt.Component e Container formam Composite pattern
- Iterator é iterator :). ResultSet também
- Graphics com Component forma um tipo de Visitor
- Integer.valueOf é um factory method, assim como Calendar.getInstance, Class.forName e DriverManager.getConnection
- java.util.Comparator é um Strategy
- ActionListeners (e outros listeners) sao Observers de acoes em Components, que sao Observables
saindo da API do Java:
- Configuration do Hibernate é um builder
- Action.execute do Struts é Command
- Chain of responsability é o caso de diversos sistemas de conversores (XStream) e filtros e interceptors (Filter da servlet, Interceptor do EJB)
- Stubs do hibernate para lazy loading e stubs para RMI/EJBs formam Proxies
- Um visitor MUITO bonito é o Predicate do commons-collections da apache (e vai ser mais bonito com closures ainda)
algumas pessoas podem nao concordar com alguns daqui. isso é normal
ufa… tem mais um MONTE. excelente questao, parabens! essa é a maneira correta de aprender e fixar design patterns na cabeca
Puts! Desculpe… li pela metade a pergutna e achei que voce queria de TODOS design patterns. me empolguei
de adapter tem o InputStreamReader que adapta a Reader para uma InputStream,
Obrigado Paulo já me ajudou bastante. Você sabe de alguma que utilize facade ?
Grato,
Cleiton
CARACA!!!
Po paulinho assim vc f*** minha aula!!!
Nao explica nada para esses preguicosos nao!
Meus alunos estao apelando bixo fala serio!
kkkkk
Abraco!
Objetos como java.util.Arrays e java.util.Collections são exemplos de Façades