Oi amigos. Alex Versus com você .
Anteriormente, falamos sobre os padrões de projeto Singleton e Strategy , sobre as sutilezas de implementação na linguagem Golang .
Hoje vou falar sobre o método Factory.
Qual é o ponto?
O método Factory, também conhecido como Construtor Virtual, é um padrão de design surpreendente que define uma interface genérica para a criação de objetos em uma classe pai e permite que os objetos criados nas classes filho sejam modificados.
O modelo permite que uma classe delegue a criação de objetos às subclasses. Usado quando:
A classe não sabe com antecedência quais objetos de subclasse ela precisa criar.
As responsabilidades são delegadas à subclasse e o conhecimento de qual subclasse assume essas responsabilidades é localizado.
Os objetos criados da classe pai são especializados em subclasses.
Qual problema isso resolve?
Imagine que você criou um programa de gerenciamento de entrega de alimentos. O programa usa uma scooter elétrica como único veículo de entrega. Seus mensageiros e-scooter entregam comida do ponto A ao ponto B. É simples.
. , , -. . .
, , 80% . ?
, , , .
?
, , , .
, . , , , .
.
Golang
PHP, . Golang , , . , - .
iTransport.go, . (struct), iTransport.
Factory.go, . main.go. getTransport(t string)
, .
?
. , , .
. , . , .
?
. , .
.
/ (. open–closed principle, OCP) — , : « (, , . .) , »
?
, .
, -.
, Alex Versus. .
!