Expansão do Padrão

Para implementar os comportamentos desejados do padrão quando o padrão é aplicado, o código de expansão é fornecido pelo autor do padrão para cada parâmetro e é chamado quando esse parâmetro é limitado. Portanto, a expansão ocorre em uma base incremental.

Assim que os argumentos são especificados pelo aplicador de padrão, os resultados do argumento limitado e expandido são observáveis imediatamente nos elementos de destino. Como os parâmetros são expandidos independentemente, o aplicador do padrão pode selecionar para aplicar apenas os parâmetros do padrão que sejam soluções para o problema de design atual. Pode existir mais de uma instância do padrão ao mesmo tempo e os padrões podem ser aplicados várias vezes aos elementos de destino. O autor do padrão dita quais parâmetros do padrão são opcionais e isso normalmente é comunicado ao aplicador do padrão por meio da multiplicidade de parâmetros do padrão, sendo o limite inferior zero.

Uma exceção à independência de parâmetros é o uso de dependências entre os parâmetros. Isso aplica-se aos parâmetros que requerem os valores de um outro parâmetro para expansão. As dependências de parâmetro padrão não devem ser confundidas com relacionamentos de dependência do UML. Quando a propriedade Cliente ou Fornecedor de dependência é definida no modelo de padrão, métodos de atualização vazios são gerados no padrão. Esses métodos estão prontos para o autor do padrão codificar a seqüência de expansão baseada nos requisitos entre parâmetros.

Para ajuda com o design de código, consulte o pacote com.ibm.xtools.patterns.framework que contém as classes AbstractPatternParameter e PatternParameterValue. A classe AbstractPatternParameter é a implementação comum de um parâmetro de padrão e outra subclasse indiretamente a utiliza e especializa ainda mais. A classe PatternParameterValue encapsula todas as informações necessárias para qualificar um valor para o parâmetro de padrão adequado e instância padrão, e ainda fornece subclasses aninhadas que oferecem um comportamento específico ao estado e correspondente ao estado do valor do parâmetro padrão.

Conceitos relacionados
Estruturas do Padrão UML
Conteúdo do Projeto de Padrão
Instanciações de Padrões
Tipos e Definições de Padrão
Informações relacionadas
Classes de API da estrutura de padrões especializada
Classes de API da estrutura de padrões
Guia de Referência de Padrões do IBM Rational

Feedback