09 janvier 2026 - Container IoC
Principe SOLID
Première implémentation du container IoC.
Grâce à Claude et les reflections de Gemini, je parviens à une première structure, pas de cache possible car la partie Providers est encore assez brouillons et contient des closures.
Dans première temps, j'expérimente afin de voir si c'est fonctionnel. Mais ce n'est pas suffisant, je vais maintenant prendre le temps de comprendre chaque détail.
Analyse de l'implémentation
Le container
Service Locator: anti-pattern?
Je constate que le Container s'auto-enregistre. Il y a un risque de dérive ici, utiliser le container comme Service Locator partout (anti-pattern).
- Service Locator is an Anti-Pattern - Mark Seemann
- Service Locator violates SOLID - Mark Seemann
- Service Locator violates encapsulation - Mark Seemann
Dans le code actuellement seule le Dispatcher à besoin de cette fonctionnalité.
Je vais ici décider de passer par un Factory Pattern et instaurer une règle: Si une classe a besoin de créer quelque chose dynamiquement, on lui donne une Factory, jamais le Container.
Ce qui me permet de retirer l'auto-enregistrement dans le constructeur du Container.
Providers
Cette partie n'est pas vraiment finie, c'est un simple fichier de script et l'utilisation abusive des closures rend le cache inutilisables pour le Container.
Je continue l'analyse afin de corriger un peu le tir.