Je suis en train de lire un livre sur DI qui parle toujours des frameworks DI "instanciant un graphe d'objets". Pourquoi le dire ainsi plutôt que "instancier des objets"?Pourquoi les gens parlent-ils des frameworks DI "instanciant un graphe d'objets" plutôt que "instanciation d'objets"?
Répondre
Un graphe d'objets est constitué d'objets qui contiennent des références les uns aux autres. Un autre nom pour un graphique dans ce contexte est un réseau.
Un système IOC ne serait pas très utile s'il avait oublié de mettre en place les références entre les objets! C'est la façon dont les objets obtiennent automatiquement des références à d'autres objets dont ils ont besoin, c'est la valeur totale d'un système IOC.
Le terme "graphe d'objet" implique que vous avez un ensemble d'objets qui seront créés en même temps. L'utilisation de ce terme peut aider à distinguer le modèle Dependency Injection (où vous ne consulterez généralement que le cadre DI au même endroit) et le modèle Service Locator (où vous l'utiliserez pour créer/accéder à des objets à plusieurs endroits) tout au long de votre demande).
Un graphe est un ensemble d'objets interconnectés. Ainsi, son instanciation peut représenter l'instanciation de plusieurs objets individuels.
Pour distinguer la création d'un objet unique de la création d'un ensemble d'objets, nous utilisons le terme «graphe d'objet». Il permet de communiquer la portée de l'opération Resolve
.
- 1. Comment calculer le graphe de relation entre les gens?
- 2. Pourquoi les frameworks Python retournent-ils les dictionnaires des contrôleurs?
- 3. JavaFX - que pensent les gens?
- 4. Pourquoi les gens appellent le jQuery $ alias un 'factory'?
- 5. Pourquoi les gens utilisent _? comme un suffixe d'identifiant?
- 6. Pourquoi utiliser NuSOAP plutôt que PHP SOAP? Des avantages?
- 7. Pourquoi diffuser un fichier plutôt que de l'envoyer immédiatement?
- 8. iPhone instanciant un UITabBarItem par programme
- 9. Pourquoi Arrays.sort utilise Object [] plutôt que Comparable []?
- 10. Pourquoi revenir const rationnelle plutôt que rationnelle
- 11. Pourquoi les frameworks utilisent-ils des redirections côté client?
- 12. Pourquoi les frameworks Dependency Injection prennent-ils en charge les hiérarchies de conteneur?
- 13. Pourquoi eGet dans EMF renvoie Object plutôt que EObject?
- 14. Pourquoi les gens utilisent ATL pour la programmation COM?
- 15. Pourquoi exactement MEF n'est-il pas un conteneur DI/IoC?
- 16. Pourquoi les gens définissent-ils leur propre offset?
- 17. Quand utiliser les propriétés plutôt que des fonctions
- 18. Pourquoi les gens encouragent-ils toujours les J simples pour un site Web?
- 19. Pourquoi utiliser `extern void my_func();` plutôt que d'inclure `my_utils.h`?
- 20. Pourquoi est-ce que je vois des générateurs pour les frameworks que j'ai supprimés d'un projet Rails 3?
- 21. Pagination - Les gens de Twitter que vous suivez
- 22. Que devrait apprendre le programmeur .NET dans le monde Java/Flex (équivalents aux frameworks ASP.MVC2, MEF, Prism, IoC et DI
- 23. PHP Exceptions plutôt que des erreurs
- 24. Que veulent dire les gens quand ils disent (et écrivent) des tests de cycle de vie?
- 25. Activator.CreateInstance: Instanciation dynamique des classes
- 26. MS VC++ 6: Pourquoi retourner! False plutôt que vrai?
- 27. Enregistreur d'événements sur les enfants plutôt que sur les parents
- 28. pourquoi certains frameworks sont-ils lents?
- 29. Référentiel statique ... ne peut pas utiliser DI, que faire?
- 30. Est-ce que les frameworks Javascript répandus fournissent un utilitaire pour l'élagage des objets?