Padrão de Método de Fábrica

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:





  1. A classe não sabe com antecedência quais objetos de subclasse ela precisa criar.





  2. As responsabilidades são delegadas à subclasse e o conhecimento de qual subclasse assume essas responsabilidades é localizado.





  3. 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% . ? 





, , , .





?

. , . , : . , .





, , , .





, . , , , . 





.





Diagrama de classe do método de fábrica
Factory Method

Golang

PHP, . Golang , , . , - .





iTransport.go,   . (struct), iTransport.





Factory.go, . main.go. getTransport(t string)



, . 





?

  1. . , , . 





  2. . , . , .





?

  1. . , .





  2. .





  3. / (. open–closed principle, OCP) — , : « (, , . .) , »





?

, .





, -. 





, Alex Versus. .

!








All Articles