Teste
Categorias de Patterns
• Collectional (coleções de objetos)
– Não fazem parte da classificação original de Gamma (GoF). – Patterns que permitem lidar com agrupamentos ou com coleção de objetos
• Agrupamento: Agregação e/ou Composição de objetos
– Natureza Estrutural (GOF structural patterns)
TTSI
Collectional Design Patterns
• Coleção: Objetos que estão armazenados em coleções (ex: estruturas de dados como vetores) e serão manipulados segundo um critério.
– Natureza Comportamental (GOF behavioral patterns)
Collectional Patterns
Pattern
Composite Iterator
GOF
Structural Behavioral
Descrição
Permite tratamento uniforme tanto a objetos simples como compostos Permite ao cliente acessar uma coleção sequencialmente, sem saber detalhes da representação e estrutura interna desta coleção de objetos As partes variantes e não variantes de uma classe são separadas em duas classes, tornando mais eficaz a manipulação de muitos objetos deste tipo Permite que uma operação seja definida para toda uma coleção de objetos, sem que seja necessário qualquer modificação das classes na qual o objeto opera
Collection Design Patterns
Composite (GOF Structural)
Flyweight
Structural
Visitor
Behavioral
Composite
• Compor objetos em estrutura de árvores, representando hierarquias todo-parte. • Permite ao cliente, trata objetos compostos (composite) e individuais (folhas) de maneira uniforme, pois conhece o componente astratato. • árvore de todo-parte não é um autorelacionamento • Permite que o desenvolvedor abstraia (não se preocupe) com a diferença no tratamento a objetos folha e objetos compostos.
Composite
Classe Abstrata
1
17/08/2011
Composite Exemplo I
• Gráficos são composições de linhas, textos, retângulos, (etc..) ou por outros gráficos...
Composite Exemplo II
• Sistemas de Arquivos são compostos por arquivos (folhas) e diretórios (agrupamento de arquivos)
Iterator
• Um objeto cliente deseja acessar