Oque Vamos Estudar?
Oque é Factory Method.
Teoria.
Pratica em Python.
Factory Method é um padrão criacional para abstrair as chamadas de criação por exemplo de porduto. em resumo código limpo, modular e escalável. Sem mais demora vamos lá.
Toda vez que pensamos em algo, nós imediatamente pensamos, como esse algo funcionae é mais ou menos por ai que nasce o factory method. Primeiro vamos definir como o produto funciona dentro do código. Depois vamos definir como construir este produto. Por fim temos o produto em mãos e podemos usa-lo para oque desejamos.
conceitos que vamos de utilizar:
interface: define como o produto opera.
Product_Concrete: é o produto final, observação podem haver vários tipos de produtos.
Fábrica: é abstrata e define métodos de como criar o produto e operar o produto é como a planta da casa.
maquina: classes concretas que herdam de fábrica a qui o produto é feito em si. Podemo ligar a construtores de classes mas atenção não é o construtor em si.
vamos ter a seguinte estrutura de código
src:
|
main.py
|
|
-- interface/:
__init__.py
interfaceProduto.py
|
|
-- factory/:
__init__.py
factory.py
agora mãos à obra.
main.py:
# aqui vamos chamar tudo é o nosso client.
from factory import Fabrica, MaquinaTipo1
from interface import InterfaceProduto, ProdutoConcreto
interface/interfaceProduto.py
from abc import ABC, abstractmethod
factory/fabrica.py
from abc import ABC, abstractmethod
from interface import InterfaceDeProduto, ProdutoConcreto
class Fabrica(ABC):
@abstractmethod
def criar_produto(self): #abstrato sem -> Produto:
pass
class MaquinaTipo1(Fabrica): # nome em documentação é de construtor
def criar_produto(self, nome) -> InterfaceDeProduto:
print("criando porduto!")
return ProdutoConcreto