Question

Qu'est-ce qu'un conteneur IoC?

Qu'est-ce qu'un cadre IoC / DI?

Pourquoi avons-nous besoin d'un cadre pour IoC / DI?

Y at-il une relation entre IoC / DI et AOP?

Qu'est-ce que Spring.net/ninject par rapport à l'AOP et IoC?

Était-ce utile?

La solution

JMSA,

James Kovacs a écrit un article fantastique qui couvre beaucoup de vos questions que je vous recommande de le lire

Autres conseils

D'un point de vue sémantique ...

Dépendance injection elle-même implique une dépendance , à savoir quelque chose qui est requis pour la construction / utilisation ( "au cœur des préoccupations" de l'application). Par exemple, une voiture est pas une voiture sans moteur.

aspects sont décrits comme étant transversaux aux préoccupations essentielles de l'application. Cela signifie à la fois distincts et non essentiels aux préoccupations fondamentales (vous pourriez penser à eux comme « nice-to-haves »). Depuis l'application peut fonctionner sans aspects, sont-ils vraiment dépendances? Par exemple, une voiture est encore une voiture, même sans un dispositif d'immobilisation.

(Bien sûr, cela est d'un point de vue théorique. Dans le monde réel des questions telles que la sécurité sont souvent aussi cruciales pour l'existence d'un produit commercialisable comme le noyau se porte.)

Donc alors qu'en pratique DI peut être utilisé pour mettre en œuvre les aspects, je ne dirais pas que ce processus vrai DI. Cela vient de quelqu'un qui utilise exclusivement l'injection de constructeur.

Martin Fowler a un bon article sur le sens de contrôle et de l'inversion L'injection de dépendance.

Spring.NET utilisation AOP est décrite en détail ici . Je suis plus familier avec la version Java du printemps, donc je ne peux pas dire avec certitude absolue que Spring.NET supporte actuellement seulement AOP à base de proxy.

C'est une classe pour être informé doit implémenter une interface. Le printemps va créer un proxy dynamique qui implémente cette interface et les délégués à l'instance cible d'origine.

Bien qu'il ne l'état:

  

Dans un futur proche, nous allons mettre en œuvre des procurations en utilisant l'héritage, ce qui vous permettra de classes proxy sans interfaces ainsi et retirerons quelques-unes des autres questions de référence brutes qui ne peuvent pas être résolus à l'aide des procurations basée sur la composition.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top