Binsor is the perfect example of an installer, and the main reason why I 
originally introduced them in the fluent api.  As you suggested, they are for 
registration only.

On Sep 24, 2010, at 9:43 AM, Dru Sellers wrote:

> :)
> 
> 2010/9/24 Krzysztof Koźmic <krzysztof.koz...@gmail.com>
> On 25/09/2010 12:18 AM, Dru Sellers wrote:
>> 
>> This might be clearer is the WindsorInstaller passed some kind of component 
>> register instead of the actual container, then in the Facility you actually 
>> had the container to do all the low level stuff.
> Yeap, that's been on my mind as well.
> IRegistrationStore or something along these lines.
> 
>> 
>> Based on my limited experience with the installers I feel that I could 
>> actually accompolish the same task with either approach.
> In both cases you get access to the full container, so it's mostly a matter 
> of conveying intent rather than limiting you through the API.
> As mentioned above, it might change (likely will, don't know to what extent 
> yet) in vNext to make it less confusing and more focused.
>> 
>> Am I crazy?
>> 
>> -d
>> 
>> 2010/9/24 Krzysztof Koźmic <krzysztof.koz...@gmail.com>
>> 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-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.
>> 
>> 
>> -- 
>> 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.
>> 
>> -- 
>> 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.
> 
> 
> -- 
> 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.
> 
> 
> -- 
> 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.

-- 
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