Nous avons un système qui a beaucoup d'objets de modèle (par exemple Car
, Pedestrian
, Road
, ...)Singleton Vs Singleton usine
Actuellement, tous les gestionnaires ont (CarManager
, PedestrianManager
, RoadManager
) qui retournent une singleton de la classe respective.
Une alternative proposée est d'avoir un singleton ManagerFactory
qui peut renvoyer les instances de CarManager
, PedestrianManager
, RoadManager
. (Par exemple ManagerFactory.getInstance().getCarManager()
)
Nous écrivons également un test pour le projet et le souci était que si nous utiliserons l'injection de dépendances, nous aurons besoin d'une instance réelle d'un objet pour injecter des gestionnaires.
Cette alternative est-elle bonne? Souhaitez-vous changer le singleton en quelque chose d'autre dans ce cas?
Ceci est l'opinion, mais j'opterais pour l'option qui vous donne le moins de couplage/interdépendances entre les différentes parties de votre code. Et aussi tout ce qui vous oblige à diffuser des connaissances sur la façon dont votre code fonctionne à travers votre code, si cela a du sens. – nielsbot
Mon instinct est cependant de ne pas avoir 'ManagerFactory' - je pense que c'est moins compliqué. – nielsbot