Introducing IController - just a bare bone extract interface at this point
[castle.git] / docs / MicroKernelIntro.html
blobb3f795189e7ce436a0e41163d4ac084889a8b991
1 <html><!-- InstanceBegin template="/Templates/template1.dwt.asp" codeOutsideHTMLIsLocked="false" -->
2 <head>
3 <!-- InstanceBeginEditable name="doctitle" -->
4 <title>MicroKernel/Windsor</title>
5 <!-- InstanceEndEditable -->
6 <link rel="stylesheet" type="text/css" href="styles/presentation.css" />
7 </head>
9 <body>
11 <div id="header">
12 <table id="topTable">
13 <tr id="headerTableRow1">
14 <td align="left">
15 <span id="runningHeaderText">Castle Project</span>
16 </td>
17 </tr>
18 <tr id="headerTableRow2">
19 <td align="left"><!-- InstanceBeginEditable name="Title" -->MicroKernel/Windsor<!-- InstanceEndEditable --></td>
20 </tr>
21 </table>
22 </div>
23 <div id="mainSection">
24 <div id="mainBody">
25 <h1 class="heading"><!-- InstanceBeginEditable name="MainHeading" -->Castle MicroKernel/Windsor<!-- InstanceEndEditable --></h1>
27 <!-- InstanceBeginEditable name="Content" -->
28 <!-- @SortOrder 5 -->
30 <p>
31 The Castle MicroKernel is an inversion of control container that was designed for extensibility. It combines facilities to grow orthogonally. These facilities work side-by-side, without interfering or depending on each other, to allow you to easily extend the container functionality by plugging in new concerns and semantics. You can use it as an embeddable container on tools that support extensions or plugin support, such as tools which exposes configurable pipelines or compilers. The container is set up and configured through code, and can be extended to work with a configuration system that your project supports.
32 </p>
34 <p>
35 Castle Windsor aggregates the MicroKernel and exposes a powerful configuration support. It is suitable for common enterprise application needs. It is able to register facilities and components based on the configuration and adds support for interceptors.
36 </p>
38 <p>
39 The Castle MicroKernel and Castle Windsor are good options if you are fond of the Inversion of Control principle. This happens a lot to developers that come from the Java camp.
40 </p>
41 <p>
42 The MicroKernel is undoubtably the most extensible container for .Net. This is a high point as you can use it as the rendezvous for frameworks your company has, combining them.
43 </p>
44 <p>
45 IoC containers favors reuse as they allow you to use a natural idiom to expose the component's dependencies. This allow components to be used with or without containers. Hence you quickly end up with a library of reusable components that can be shared among projects, as long as you apply the Separation of Concerns principle.
46 </p>
48 <p>
49 MicroKernel/Windsor resources:
50 </p>
52 <ul>
53 <li> <a href="http://www.castleproject.org/container/gettingstarted/index.html" target="_blank">Getting Started</a> </li>
54 <li> <a href="http://www.castleproject.org/container/documentation/index.html" target="_blank">Documentation</a> </li>
55 <li> <a href="http://www.castleproject.org/container/roadmap.html" target="_blank">Roadmap</a> </li>
56 <li> <a href="http://www.castleproject.org/container/faq.html" target="_blank">FAQ</a> </li>
57 </ul>
59 <!-- InstanceEndEditable --></div>
60 </div>
62 <div id="footer">
63 <div class="footerLine">
64 <img width="100%" height="3px" src="icons/footer.gif" alt="Footer image"/>
65 </div>
66 <div id="footer">
67 <include item="comments"/>
68 <include item="copyright"/>
69 </div>
70 </div>
71 </body>
72 <!-- InstanceEnd --></html>