CastleAndWindsor

Castle Born

Castle was born from the Apache Avalon project, in mid 2003, as an attempt to build a very simple inversion of control container. The overall design was the result of more than a year in contact with masters of the Avalon land like Carsten Ziegeler, Leo Sutic, Leo Simons and Berin Loritsch to name a few.

After several discussions about what a useful container must solve, Castle's first draft was created. Several changes (and rewrites) have taken place before reaching its current form.

However, Castle had a more ambitious agenda. Tools like DynamicProxy and the Management Extensions were used by several projects and a proper home to support those users and build a community around them was necessary. Along the same lines, these tools had nothing in common with Avalon's mission, so we had to find a more suitable home for them.

Since then a new mission came, and new projects flourished. The Castle Project team is as concerned with the quality of the projects as it is concerned with the health of its community.

Castle

An umbrella for projects that share the same goal: boost productivity while promoting good code and good design. For more about it, check our mission and history.

Windsor
Castle Windsor is best of breed, mature Inversion of Control container available for .NET and Silverlight.
Service
Services in Windsor lingo, are abstract contracts describing some cohesive unit of functionality
Component
A component is a small unit of reusable code. It should implement and expose just one service, and do it well. In practical terms, a component is a class that implements the service interface.
Dependency
Dependency is another service or parameter that a component uses in order to do its job. In Windsor, dependencies are either constructor parameters, writeable properties, or custom, like Interceptors, mixins etc.

作者:青羽
原文地址:https://www.cnblogs.com/tenghoo/p/2175467.html