3.
Agenda
Who am I?
Introduction
Castle Windsor
Conclusion
Who am I?
Senior student at Bogazici University
(Passive) committer at Castle and NHibernate
Blogger at his own blog and also on devlicio.us
Has an interest in Robotics and its applications
Tuna Toksoz Castle Windsor

4.
Agenda
Who am I?
Dependency Injection
Introduction
Inversion of Control Container
Castle Windsor
Conclusion
What is DI all about?
It is a pattern in Martin Fowler’s book
Depends on the principle of providing dependencies from
the outside
Made up of 3 components
Dependent
Dependency
Dependency provider
Tuna Toksoz Castle Windsor

5.
Agenda
Who am I?
Dependency Injection
Introduction
Inversion of Control Container
Castle Windsor
Conclusion
Why should we use DI?
Loosely coupled components/services
Increased testability
Reduced cost of changes in later stages of development
Ability to change implementations between testing and
deployment
Tuna Toksoz Castle Windsor

9.
Agenda
Who am I?
Dependency Injection
Introduction
Inversion of Control Container
Castle Windsor
Conclusion
Inversion of Control Container
A point where all components are registered and being
accessed
A component which resolves dependencies of a requested
component automatically
Enables us to change implementations without much
trouble
Tuna Toksoz Castle Windsor

22.
Agenda
Who am I? Why Castle Windsor?
Introduction Conﬁguration
Castle Windsor Extensibility points
Conclusion
Subdependency Resolver
Tells how a speciﬁc dependency of a component should be
¯
resolved
We can either use an existing component or create a new
one as the dependency
Does not affect previously initialized components (MEF
can do it)
Tuna Toksoz Castle Windsor

33.
Agenda
Who am I?
Introduction
Castle Windsor
Conclusion
Windsor
A framework that is developed as a result of needs
Easy integration with other frameworks
Active development
Tuna Toksoz Castle Windsor