Inversion of Control mit Castle Windsor

Inversion of Control noch stärker ausreizen

Flexibilität scheint oft unvereinbar mit Geschwindigkeit bzw. Komfort. Z. B. kann man ein Ziel zu Fuß oder mit dem Zug erreichen. Zu Fuß kann auf wechselnde Anforderungen flexibel reagiert werden, jedoch dauert die Reise lange. Mit dem Zug wird das Ziel schneller erreicht, aber ohne auf Änderungswünsche reagieren zu können. Die Abwägung zwischen überlegter, individueller Entwicklung und Rapid Application Development ist damit vergleichbar. Das Projekt Castle Windsor verändert diesen Trade-off: Die Softwareentwicklung wird flexibler und paradoxerweise gleichzeitig schneller.

Dependency Injection und Inversion of Control (IoC)

  • Dependency Injection – ein Design Pattern
  • Dependency Injection als Konsequenz loser Kopplung
  • Praktische Umsetzung des Single Responsibility-Prinzips durch Modellierung mit Object Stereotypes
  • Wie verbesserte Testbarkeit und erhöhte Flexibilität erreicht werden können
  • „Favor composition over inheritance“ als Leitspruch für das Design
  • Double Dispatch, Constructor Injection und Property Injection
  • Inversion of Control-Container als technische Lösung für Dependency Injection
  • Gegenüberstellung der interessantesten Containerimplementierungen für das .NET Framework

Konfiguration und Einsatz des IoC-Containers in der Anwendung

  • Der Container als zentrale und intelligente Factory der Anwendung
  • Unterschied Dependency Injection zur Service Location
  • Komponentenregistrierung in XML, per Fluent API und Boo bzw. Binsor
  • Automatische Auflösung von Objektgraphen
  • Einsatzgebiete für manuelle Komposition
  • Singleton und andere Lifestyles zur Kontrolle der Lebensdauer von Instanzen
  • Zwei Dienste – eine Instanz: Forwarding Handlers
  • Automatisches Testen der Container-Konfiguration

Erweiterbarkeit

  • Facilities, Interceptors, Events etc. als Möglichkeit, den Container an eigene Bedürfnisse anzupassen
  • Sorgenfreie Protokollierung mit der Logging Facility
  • Anwendungen für den Einsatz der WCF ohne XML-Overhead in der app.config vorbereiten
  • Arbeit mit Mixins und dynamischen Proxies
  • Komponentenauflösung anpassen mit der Generic Factory Facility
  • Typisierter Zugriff auf AppSettings
  • Migration von Unity auf Castle Windsor
  • Versionsproblematiken vermeiden
Unsere Veranstaltungsorte von dieser / diesem SchulungTrainingSeminarKurs (nach oben)Berlin, Dresden, Frankfurt am Main, Hamburg, Hannover, Karlsruhe, Köln, Leipzig, Magdeburg, München, Stuttgart und Inhouse.

Fortbildung oder Weiterbildung zu Architektur – wir setzen nur auf erfahrene Talente als Architektur Trainer. Das Credo von Alexander Groß lautet „Ich will, dass Entwickler auf ihre Software stolz sein können“. Mehr zu ihm und den Beweggründen unserer anderen Trainer erfahren Sie bei seiner Biographie (direkt erreichbar per Bild).