Injection/inversion
de dépendances
MUG Lyon – 27 février 2014 – Hébergé par Sciences-U
Clément Bouillier - @clem_bouillier
Le MUG Lyon
Une session tous les derniers jeudis du mois à Sciences-U (merci !)
•

Vote pour le futur logo MUGLyon

Procha...
Logo MUGLyon
1

2

3
&
vous invitent le samedi 29 mars 2014 toute la
journée à LYON pour un événement mondial :

#gwab

Inscrivez-vous

http://...
Qui suis-je ?
Architecte/chef de projet/consultant mais avant tout
ARTISAN DEVELOPPEUR
> Twitter : @clem_bouillier

Membre...
Injection de dépendances = Dependency Injection (DI)
…et on parle aussi d’IoC (Inversion of Control), non ?
…mais DI, c’es...
Couplage faible (Low coupling) VS fort
Testabilité

POURQUOI ?

Extensibilité

 DEMO
Proche des patterns
Factory/Abstract Factory
Convention over Configuration pour le Register

UTILISONS UN CONTAINER IoC/DI...
Implémenter le pattern Singleton/cycles de vie des objets injectés

USAGES « AVANCES »
Plusieurs Register pour une même cl...
Anti-pattern ServiceLocator

Injection du Container = Service Locator

QUELQUES FAUSSES BONNES IDEES !
Injecter des/dans l...
Architecture hexagonale/en oignon
Domain Driven Design

ET PLUS ENCORE…
Domain Events
Feedback

MERCI !
Quelques références
Martin Fowler sur IoC/DI :
http://martinfowler.com/articles/injection.html
Uncle Bob sur le DIP : http...
Prochain SlideShare
Chargement dans…5
×

20140227 - injection de dépendances - mug lyon

579 vues

Publié le

Live coding au MUGLyon. Voir les commentaires des slides pour les explications (télécharger le PPT pour les voir) + le repository GitHub suivant avec les étapes représentées par des commits séparés : https://github.com/devcrafting/CouplingAndDependency

Publié dans : Technologie
0 commentaire
1 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
579
Sur SlideShare
0
Issues des intégrations
0
Intégrations
4
Actions
Partages
0
Téléchargements
9
Commentaires
0
J’aime
1
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

20140227 - injection de dépendances - mug lyon

  1. 1. Injection/inversion de dépendances MUG Lyon – 27 février 2014 – Hébergé par Sciences-U Clément Bouillier - @clem_bouillier
  2. 2. Le MUG Lyon Une session tous les derniers jeudis du mois à Sciences-U (merci !) • Vote pour le futur logo MUGLyon Prochaines sessions • • • Global Windows Azure Bootcamp le samedi 29 mars Session d’avril : Gestion des périphériques modernes avec System Center Configuration Manager Session de mai : Code Simplicity avec Rui Carvalho Suivez toutes les communautés lyonnaises sur le calendrier Lyon Tech Hub ! • • CARA Night Lean et startups le 4 mars Human Talks le 11 mars
  3. 3. Logo MUGLyon 1 2 3
  4. 4. & vous invitent le samedi 29 mars 2014 toute la journée à LYON pour un événement mondial : #gwab Inscrivez-vous http://bit.ly/1jn7pEG
  5. 5. Qui suis-je ? Architecte/chef de projet/consultant mais avant tout ARTISAN DEVELOPPEUR > Twitter : @clem_bouillier Membre actif des groupes suivants > DevLyon : groupe de développeurs indépendants partageant une vision de l’informatique créant de la valeur  http://devlyon.fr > MUG Lyon : groupe de passionnés de technologies en environnement Microsoft sur Lyon > Fier d’être développeur : groupe visant à promouvoir le métier de développeur en France  http://fierdetredeveloppeur.org/
  6. 6. Injection de dépendances = Dependency Injection (DI) …et on parle aussi d’IoC (Inversion of Control), non ? …mais DI, c’est aussi Dependency Inversion (Principle = DIP) …mais si! Le D du principe SOLID  commençons par là
  7. 7. Couplage faible (Low coupling) VS fort Testabilité POURQUOI ? Extensibilité  DEMO
  8. 8. Proche des patterns Factory/Abstract Factory Convention over Configuration pour le Register UTILISONS UN CONTAINER IoC/DI Injection par constructeur, par setter ou par méthode  DEMO
  9. 9. Implémenter le pattern Singleton/cycles de vie des objets injectés USAGES « AVANCES » Plusieurs Register pour une même classe/interface Implémenter le pattern Strategy  DEMO
  10. 10. Anti-pattern ServiceLocator Injection du Container = Service Locator QUELQUES FAUSSES BONNES IDEES ! Injecter des/dans les entités Faire des usines à gaz !  DEMO
  11. 11. Architecture hexagonale/en oignon Domain Driven Design ET PLUS ENCORE… Domain Events
  12. 12. Feedback MERCI !
  13. 13. Quelques références Martin Fowler sur IoC/DI : http://martinfowler.com/articles/injection.html Uncle Bob sur le DIP : http://www.oodesign.com/dependencyinversion-principle.html Mark Seemann sur le Service Locator : http://blog.ploeh.dk/2010/02/03/ServiceLocatorisanAnti-Pattern/ Jimmy Bogard sur DDD : http://lostechies.com/jimmybogard/2010/02/04/strengthening-yourdomain-a-primer/

×