Modèle de méthode d'usine

Salut les amis. Alex Versus avec vous





Plus tôt, nous avons parlé des modèles de conception Singleton et Strategy , des subtilités de la mise en œuvre dans le langage Golang .





Aujourd'hui, je vais vous parler de la mĂ©thode Factory. 





À quoi ça sert?

La mĂ©thode Factory, Ă©galement connue sous le nom de constructeur virtuel, est un modèle de conception Ă©tonnant qui dĂ©finit une interface gĂ©nĂ©rique pour crĂ©er des objets dans une classe parent et permet de modifier les objets créés dans les classes enfants. 





Le modèle permet à une classe de déléguer la création d'objets à des sous-classes. Utilisé quand:





  1. La classe ne sait pas à l'avance quels objets de sous-classe elle doit créer.





  2. Les responsabilités sont déléguées à la sous-classe et la connaissance de la sous-classe qui assume ces responsabilités est localisée.





  3. Les objets créés de la classe parente sont spécialisés dans les sous-classes.





Quel problème résout-il?

Imaginez que vous ayez créé un programme de gestion de la livraison de nourriture. Le programme utilise un scooter Ă©lectrique comme seul vĂ©hicule de livraison. Vos coursiers e-scooter livrent de la nourriture du point A au point B. C'est simple. 





. , , -. . .





, , 80% . ? 





, , , .





?

. , . , : . , .





, , , .





, . , , , . 





.





Diagramme de classe de méthode d'usine
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