Simple Factory

14
Simple Factory Não é um padrão de projeto! É uma técnica de programação que introduz os padrões Factory’s.

description

Os slides mostram, atráves de um simples exemplo em Java, do que se trata a técnica Simple Factory e em que momentos devemos utilizá-la.

Transcript of Simple Factory

Page 1: Simple Factory

Simple FactoryNão é um padrão de projeto! É uma técnica de

programação que introduz os padrões Factory’s.

Page 2: Simple Factory

Simple Factory

Para entender melhor,

vamos imaginar a seguinte situação...

2Juliane Silva

Page 3: Simple Factory

Simple Factory

Wonka, uma fábrica de chocolate

deseja atualizar o sistema responsável

pelo preparo de chocolates.

3Juliane Silva

Page 4: Simple Factory

Simple Factory

O que a Wonka tem, por enquanto, é...

4

Aqui é onde se faz o chocolate.

Juliane Silva

Page 5: Simple Factory

Simple Factory

5

Com base no tipo de

chocolate, instanciamos a classe

concreta correta.

Aqui, são realizados os passos

comuns do preparo do chocolate.

Juliane Silva

Page 6: Simple Factory

Simple Factory

6

Mas, e se o dono decidir tirar

um chocolate de produção?

A mudança deve ser feita onde?

Em cima? Embaixo? Nos 2?

E se ele quiser adicionar novos

tipos de chocolate?

Juliane Silva

Page 7: Simple Factory

Simple Factory

7

Ele decidiu tirar o chocolate de

mel...

E adicionar os chocolates: cro-

cante e de nozes.

Juliane Silva

Page 8: Simple Factory

E descobrimos que...

Essa parte varia muito.

E, essa, dificilmente va-

riará.

Simple Factory

8

Percebemos que esse

código não está fecha-

do para modificações.

Juliane Silva

Page 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!

Simple Factory

9Juliane Silva

Page 10: Simple Factory

Simple Factory

E colocamos onde a parte que varia?

Num lugar preocupado somente

em criar chocolates.

NA FACTORY!

10Juliane Silva

Page 11: Simple Factory

Simple Factory

Sempre que LojaWonka precisar de um chocolate,

pedirá à SimpleWonkaFactory.

11Juliane Silva

Page 12: Simple Factory

Simple Factory

12

Este é o código que

tiramos do método

organizarChocolate().

Substituímos o operador

new por um método de cri-

ação no objeto da fábrica.

Juliane Silva

Page 13: Simple Factory

Simple Factory

Agora, quando tipos de chocolates

forem adicionados/removidos, as

alterações serão feitas num único

local, na SimpleWonkaFactory.

13Juliane Silva

Page 14: Simple Factory

Obrigada!Referência Bibliográfica:

Simple Factory

14Juliane Silva