Padrões para Aplicar Detalhes |
Esta amostra é um conjunto de 8 padrões. Muitos desses padrões são semelhantes em nome e função aos padrões aceitos no segmento de mercado.* Alguns desse padrões são utilizados por outros padrões de maior granulosidade e são conhecidos como micropadrões. Padrão de Implementação(Dois parâmetros, uma dependência de parâmetro, um micropadrão) O padrão de implementação é um padrão primitivo independente que não alavanca nenhum outro padrão em sua implementação. Ele consiste em um padrão muito simples que assegura que um relacionamento de implementação UML esteja presente de um argumento de implementação para um argumento de interface. Padrão de Interface(Dois parâmetros, uma dependência de parâmetro, reutiliza um padrão) O padrão de interface, um padrão que é reutilizado por alguns outros padrões de amostra, também reutiliza um padrão em sua implementação. O padrão de implementação é um padrão muito primitivo (também referido como micropadrão) utilizado pelo padrão de interface para assegurar que o argumento de implementação implemente os argumentos de interface. O padrão de interface possui dois parâmetros, um para representar a interface e outro para representar a implementação. Ele inclui um exemplo de mapeamento de delegação básica com usos de definição de padrão e delegações de dependência de padrão. Este é um padrão muito básico, contudo funcional, que também é mencionado em outras partes da documentação de padrões. Esse padrão também mostra a combinação de utilizar delegações de padrão e código personalizado para implementar métodos de atualização de dependência de um padrão. O padrão de implementação é reutilizado para assegurar o relacionamento de implementação e, em seguida, o código do método de atualização personalizada é utilizado para assegurar que a implementação implemente todas as operações definidas nos argumentos de interface. Padrão de Lista de Palavras-chave(Dois parâmetros, uma dependência de parâmetro, um micropadrão) O padrão de lista de palavras-chave é um padrão primitivo independente que não alavanca outros padrões em sua implementação. Também demonstra o uso de uma cadeia de literal UML como um tipo de parâmetro e o uso de um metatipo UML abstrato como um tipo de parâmetro. Esse padrão também inclui a funcionalidade para assegurar corretamente a semântica do padrão uma vez que os argumentos são desligados e as instâncias de padrão são desaplicadas. O padrão de lista de palavras-chave pode ser instanciado a partir da visualização Explorador de Padrões por direito nato, mas é mais apropriado que seja reutilizado por outros padrões por meio do mecanismo de delegação de padrões. Padrão de Associação Direcionada(Seis parâmetros, cinco dependências de parâmetro, um micropadrão) O padrão de associação direcionada é um outro padrão primitivo independente, um micropadrão utilizado por outros padrões de granulosidade superior. O padrão de associação direcionada possui dois parâmetros principais que definem o contexto para uma associação direcionada. Ele possui cinco outros parâmetros periféricos que ajudam a formar a associação, configurando o tipo de associação, os nomes das funções e as multiplicidades. Esse padrão é reutilizado pelo padrão de delegação de amostra e é um exemplo de um padrão que inclui muito menos tipos de parâmetros comuns. Cadeias literais, inteiros e enumerações de padrão são utilizados na definição desse padrão. O código do padrão localizado nesta amostra para manipular esses literais e enumerações é inestimável para os autores de padrão durante a aprendizagem de criação de padrões que possuem tipos de parâmetros semelhantes. Padrão de Delegação(Dois parâmetros, uma dependência de parâmetro, reutiliza três padrões) O padrão de delegação possui dois parâmetros: um que representa o delegador e outro que representa a delegação no padrão de delegação. O delegador delega as operações definidas na interface de delegação e implementadas pelo delegador para uma instância do tipo de delegação. Esse padrão demonstra o uso de filtros de mapeamento de delegação para personalizar o nome das palavras-chave ligadas às instâncias de reutilização do padrão de lista de palavras-chave. Essa personalização do nome não é necessária para fornecer uma implementação útil do padrão de delegação, mas foi incluída nesta amostra para demonstrar o uso dos filtros de mapeamento de delegação. Padrão de Estratégia(Três parâmetros, duas dependências de parâmetro, reutiliza dois parâmetros) O padrão de estratégia baseia-se no padrão de estratégia normalmente conhecido. Ele reutiliza os padrões de lista de palavras-chave e de amostra da interface e contém um exemplo de mapeamento de delegação de parâmetro. Ele possui três parâmetros, um para representar a interface de estratégia, um para representar a estratégia concreta e um para representar o contexto da própria estratégia. Para demonstrar a reutilização do padrão de lista de palavras-chave, o padrão assegura que a palavra-chave <<Strategy>> esteja presente no argumento do parâmetro da interface de estratégia. O padrão de interface é reutilizado para assegurar que a interface de estratégia seja implementada pelos argumentos ligados do parâmetro de estratégia concreta. Padrão Singleton(Zero parâmetros) O padrão singleton baseia-se no padrão singleton normalmente conhecido. É um exemplo de um padrão sem parâmetros. Ele possui um parâmetro implícito, que pode ser considerado como a própria instância do padrão. Esse padrão representa suas instâncias do padrão como classes em vez da representação típica mais usual como colaborações. Um uso funcional desse padrão é arrastá-lo da visualização Explorador de Padrões para uma classe que você precise assegurar que seja singleton. Arrastar esse padrão para a superfície de diagrama (em um pacote) resulta em uma nova instância singleton e, portanto, na criação de uma nova classe para representar essa instância. Padrão de Depósito de Informações do Provedor Abstrato(Cinco parâmetros, cinco dependências de parâmetro, reutiliza um padrão) O padrão de depósito de informações do provedor abstrato baseia-se no padrão de depósito de informações do provedor abstrato normalmente conhecido. Ele reutiliza o padrão de interface e, portanto, demonstra as delegações de dependência no curso do comportamento de delegação para o padrão de interface. É uma implementação de degeneração do padrão de depósito de informações do provedor abstrato, em que todos os produtos concretos implementam todos as interfaces de produto abstrato que estejam ligadas. Ele exemplifica o uso das dependências de parâmetro para assegurar a semântica de um padrão à medida que argumentos adicionais são ligados ao padrão. Assim como o padrão singleton utiliza algo diferente de colaborações para representar instâncias do padrão, esse padrão utiliza pacotes. As instâncias desse padrão são pacotes. * Design Patterns: Elements of Reusable Object-Oriented Software, Gamma, Helm, Johnson e Vlissides (Addison-Wesley, 1995) copyright (c) 1995 de Addison-Wesley Publishing Company, Inc. Todos os direitos reservados. |