{"ad_unit_id":"App_Resource_Sidebar_Upper","resource":{"id":1228733,"author_id":636896,"title":"Padrões de Projeto","created_at":"2014-09-02T16:48:46Z","updated_at":"2019-01-10T12:09:12Z","sample":false,"description":"Mapa mental sobre padrões de projeto (GOF)","alerts_enabled":true,"cached_tag_list":"padrões de criação, padrões estruturais, padrões comportamentais","deleted_at":null,"hidden":false,"average_rating":"3.5","demote":false,"private":false,"copyable":true,"score":96,"artificial_base_score":0,"recalculate_score":false,"profane":false,"hide_summary":false,"tag_list":["padrões de criação","padrões estruturais","padrões comportamentais"],"admin_tag_list":[],"study_aid_type":"MindMap","show_path":"/mind_maps/1228733","folder_id":1139304,"public_author":{"id":636896,"profile":{"name":"fcriss_","about":null,"avatar_service":"gravatar","locale":"pt-BR","google_author_link":null,"user_type_id":null,"escaped_name":"fcriss_","full_name":"fcriss_","badge_classes":""}}},"width":300,"height":250,"rtype":"MindMap","rmode":"canonical","sizes":"[[[0, 0], [[300, 250]]]]","custom":[{"key":"env","value":"production"},{"key":"rtype","value":"MindMap"},{"key":"rmode","value":"canonical"},{"key":"sequence","value":1},{"key":"uauth","value":"f"},{"key":"uadmin","value":"f"},{"key":"ulang","value":"en"},{"key":"ucurrency","value":"usd"}]}
{"ad_unit_id":"App_Resource_Sidebar_Lower","resource":{"id":1228733,"author_id":636896,"title":"Padrões de Projeto","created_at":"2014-09-02T16:48:46Z","updated_at":"2019-01-10T12:09:12Z","sample":false,"description":"Mapa mental sobre padrões de projeto (GOF)","alerts_enabled":true,"cached_tag_list":"padrões de criação, padrões estruturais, padrões comportamentais","deleted_at":null,"hidden":false,"average_rating":"3.5","demote":false,"private":false,"copyable":true,"score":96,"artificial_base_score":0,"recalculate_score":false,"profane":false,"hide_summary":false,"tag_list":["padrões de criação","padrões estruturais","padrões comportamentais"],"admin_tag_list":[],"study_aid_type":"MindMap","show_path":"/mind_maps/1228733","folder_id":1139304,"public_author":{"id":636896,"profile":{"name":"fcriss_","about":null,"avatar_service":"gravatar","locale":"pt-BR","google_author_link":null,"user_type_id":null,"escaped_name":"fcriss_","full_name":"fcriss_","badge_classes":""}}},"width":300,"height":250,"rtype":"MindMap","rmode":"canonical","sizes":"[[[0, 0], [[300, 250]]]]","custom":[{"key":"env","value":"production"},{"key":"rtype","value":"MindMap"},{"key":"rmode","value":"canonical"},{"key":"sequence","value":1},{"key":"uauth","value":"f"},{"key":"uadmin","value":"f"},{"key":"ulang","value":"en"},{"key":"ucurrency","value":"usd"}]}
Fornece uma interface de
famílias de objetos relacionados
de dependentes sem especificar
suas classes concretas.
Factory Method
Define uma interface p/ criar um objeto mas
deixa as subclasses decidirem que classe
instanciar. Permite adiar a instanciação p/ as
subclasses.
Singleton
Garante que uma classe tenha
somente uma instancia e fornece
um ponto global de acesso p/ a
mesma.
Padrões Estruturais
Adapter
Converte a interface de uma classe em outra
interface, esperada pelos clientes. Permite que
classes com interfaces incompatíveis trabalhem
em conjunto.
Composite
Compõe objetos em estruturas de árvore p/
representarem hierarquias partes-todo. Permite
aos clientes tratarem de maneira uniforme
objetos individuais e composições de objetos.
Façade
Fornece uma interface unificada p/ um conj. de
interfaces em um subsistema. Define uma interface de
nível mais alto que torna o subsistema mais fácil de
ser usado.
Proxy
Fornece um substituto (surrogate) ou marcador
da localização de outro objeto para controlar o
acesso a esse objeto.
Padrões Comportamentais
Command
Encapsula uma solicitação como um objeto,
desta forma permite parametrizar clientes
com diferentes solicitações, enfileirar ou fazer
o registro (log) de solicitações e suportar
operações que podem ser desfeitas.
Iterator
Fornece um meio de acessar, sequencialmente, os
elementos de um objeto agregado sem expor a sua
representação subjacente.
Observer
Define uma dependência um-para-muitos entre objetos, de maneira que quando
um objeto muda de estado todos os seus dependentes são notificados e
atualizados automaticamente.
Strategy
Define uma família de algoritmos, encapsula cada uma
delas e torna intercambiáveis. Permite que o algoritmo varie
independentemente dos clientes que o utilizam.