Dependency Injection and Inversion Of Control
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Dependency Injection and Inversion Of Control

on

  • 756 views

This is a short presentation I gave back in 2008 at the UgiAlt.Net conference in Milan about inversion of control and dependency injection principles. Examples use Castle project's Windsor container.

This is a short presentation I gave back in 2008 at the UgiAlt.Net conference in Milan about inversion of control and dependency injection principles. Examples use Castle project's Windsor container.

Statistics

Views

Total Views
756
Views on SlideShare
756
Embed Views
0

Actions

Likes
0
Downloads
2
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Dependency Injection and Inversion Of Control Presentation Transcript

  • 1. Simone Busoli14/06/2008 - Milano
  • 2.  Comunemente DI - IoC Principi comuni di disegno software  Alta coesione  Basso accoppiamento … Basso accoppiamento  Riduzione delle dipendenze tra componenti software  Chi conosce chi? Risoluzione dipendenze tra componenti
  • 3.  Voglio poter registrare le iscrizioni ad un evento  Persistere i dettagli dell’iscritto  Comunicare se l’iscrizione è andata a buon fine tramite mail EmailService SubscriptionService PersonRepository
  • 4.  SubscriptionService conosce direttamente i dettagli di EmailService e PersonRepository BAD
  • 5.  Il servizio conosce solo l’interfaccia dei componenti che utilizza GOOD
  • 6.  Iniettare dipendenze dall’esterno rende più onerosa l’istanziazione di componenti  Necessario conoscere tutte le dipendenze
  • 7.  Hollywood Principle  Don’t call us, we will call you! Vorrei un’istanza di SubscriptionService
  • 8.  Entità esterna all’applicazione Configurabile Conosce le dipendenze tra i componenti ed è in grado di soddisfarle a runtime IoC Container Vorrei un’istanza di SubscriptionService Istanza completa di tutte le dipendenze
  • 9.  Inversion of Control container open source Stabile – production ready Il container si occupa Si configura il Si richiede l’istanza di soddisfare le container (xml, boo, di un componente dipendenze e creare C#) l’istanza
  • 10.  Configurazione Xml
  • 11.  Codice client Molto meglio, eh? Altri containers  StructureMap  Spring.Net  Autofac  …
  • 12.  Inversion of Control and Dependency Injection: Working with Windsor Container http://msdn.microsoft.com/en- us/library/aa973811.aspx Castle Project http://www.castleproject.org/container/ StructureMap http://structuremap.sourceforge.net