Wikipedia´e uma ótima referência de Design Patterns, você vai encontrar muita coisa boa lá.
[]´s
peczenyj
imagine que vc desenvolve um programa que depende de codigo nativo (jni). vc quer testar a sua aplicação em outro sistema operacional e esta jni não afeta o seu teste. vc pode ter uma factory que, se o sistema operacional não for aquele, ele retorna uma classe ‘de mentiriha’ que retorna dados prontos.