João,

here's how I see it:

Facilities are extensions on top of the container. They encapsulate single
logical piece of additional functionality.They may be using some more
objects/components to provide that functionality. They may use other
components to provide that functionality, like interceptors,
lifecycleconcerns, ComponentModel creation contributors, lazy component
loaders or what have you. These components coexist and cooperate to provide
that piece of functionality.
To make the facility self contained and cohesive it's ok (and desired) for
it to register these components in its Init method.

Installers are meant to register application services. While facilities
register framework, low level code, that is intrinsicly aware of the
container, Installers register application services which have no knowledge
of the container. I would have like "RepositoriesInstaller",
"ControllersInstaller", "ViewsViewModelsInstaller",
"MessageHandlersInstaller" etc.

I do add facilities in an installer if the facility is working only with the
components registered in that installer. Otherwise I tend to pre-register
the facilities.

Hopefully that clarifies this a bit.

Note to self - add that to FAQ

cheers,
Krzysztof


2010/9/24 João Bragança <j...@braviawebdesign.com>

> A lot of the talk about facilities and installers got me thinking.
> Before Windsor 2.x, I would use facilities to do a lot of the
> component registration work. But now it seems like installers are the
> way to go. Still, a facility may. need to register many components to
> extend the container. Is it legitimate for an installer to add
> facilities to the container? Or what about adding an InstallComponents
> method to IFacility to take advantage of the optimized registration?
> It would be cool to do this all from one place.
>
> --
> You received this message because you are subscribed to the Google Groups
> "Castle Project Users" group.
> To post to this group, send email to castle-project-users@googlegroups.com
> .
> To unsubscribe from this group, send email to
> castle-project-users+unsubscr...@googlegroups.com<castle-project-users%2bunsubscr...@googlegroups.com>
> .
> For more options, visit this group at
> http://groups.google.com/group/castle-project-users?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Castle Project Users" group.
To post to this group, send email to castle-project-us...@googlegroups.com.
To unsubscribe from this group, send email to 
castle-project-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/castle-project-users?hl=en.

Reply via email to