4.7 Protected Variations
Ele propõe a utilização de interfaces. Tenta-se identificar nos elementos pontos onde a variação de código-fonte futura é previsível para se criar uma interface para mapeamento de responsabilidades.
Interfaces estáveis reduzem o impacto nas dependências dos elementos “interfaceados”. O próprio polimorfismo também é realização deste princípio.
Por exemplo, digamos que você tenha um conjunto de classes javabeans que você gostaria de serializá-las para enviar por socket ou salvar em arquivo.Você pode implementar uma interface chamada Serializável, que provê operações padronizadas de serialização (tipo getBinary ou setBinary).
|
Vamos praticar? Para cada um dos padrões GRASP, crie exemplo de classes que realizem o princípio proposto por cada padrão. |