6. Simple Factory
Mas, e se o dono decidir tirar
um chocolate de produção?
E se ele quiser adicionar novos
tipos de chocolate?
A mudança deve ser feita onde?
Em cima? Embaixo? Nos 2?
Juliane Silva
6
7. Simple Factory
Ele decidiu tirar o chocolate de
mel...
E adicionar os chocolates: crocante e de nozes.
Juliane Silva
7
8. Simple Factory
Percebemos que esse
código não está fechado para modificações.
E descobrimos que...
Essa parte varia muito.
E, essa, dificilmente variará.
Juliane Silva
8
9. Simple Factory
Uma parte varia, a outra parte não varia...
Será que não devemos usar aquele
“princípio do varia”?... Sim.
Encapsulemos o que varia!
Juliane Silva
9
10. Simple Factory
E colocamos onde a parte que varia?
Num lugar preocupado somente
em criar chocolates.
NA FACTORY!
Juliane Silva
10
11. Simple Factory
Sempre que LojaWonka precisar de um chocolate,
pedirá à SimpleWonkaFactory.
Juliane Silva
11
12. Simple Factory
Substituímos o operador
new por um método de criação no objeto da fábrica.
Este é o código que
tiramos do método
organizarChocolate().
Juliane Silva
12
13. Simple Factory
Agora, quando tipos de chocolates
forem adicionados/removidos, as
alterações serão feitas num único
local, na SimpleWonkaFactory.
Juliane Silva
13