I'm free. Where do I start?

3 views
Skip to first unread message

Anders Norås

unread,
Mar 18, 2007, 7:51:15 PM3/18/07
to castle-pro...@googlegroups.com
I read Hammett's blog post on the history of Castle earlier tonight and it must have been an omen. I have been using the MicroKernel, Windsor and DynamicProxy components for some time in my work, but due to restrictions in my employment contract I have been unable to contribute to the project. Tomorrow will be my first day at a new job, where I have no code-ownership limitations and have I'll a small portion of my paid time to use for R&D project of my own choosing.
I have a facility to enable services to be exported as WCF services in my sandbox, but this is very immature at the moment. However I would really like to give something back to the Castle community. What I need are some pointers on which issues are important. Please keep in mind that my experiences as a Castle user mainly involve the components mentioned above.

Best regards,
Anders Norås | blog://andersnoras.com

Hamilton Verissimo

unread,
Mar 18, 2007, 8:06:16 PM3/18/07
to castle-pro...@googlegroups.com
Hello Anders,

We will hardly assign a task to you. You should contribute based on
what gives you a pleasant time and at the same time be useful to you.
But as a pointer (and as a big test for you willingness to contribute)
I can direct you to the Component Burden concept that is long overdue.

I've implemented it in a container that pre-dated the MicroKernel, and
might be available somewhere at some apache CVS (found it, see below).
It can be implemented easily and beautifully or harder and ugly. I
havent really stopped to think about it, but that's a direction and it
would be an enormous contribution.

If you want something smaller to start with, you can check our Jira on
MicroKernel/Windsor and DynamicProxy.

Link to old code
http://svn.apache.org/viewvc/avalon/trunk/central/laboratory/avalon-net/Castle/

Thanks


--
Cheers,
hamilton verissimo
ham...@castlestronghold.com
http://www.castlestronghold.com/

Anders Norås

unread,
Mar 20, 2007, 7:51:50 AM3/20/07
to castle-pro...@googlegroups.com
Thanks Hammett. I wasn't expecting any task assignments, but rather a pointer to which Jira's that matter the most.
I'm sorry for the late reply to this but I had to take some time to grok the Component Burden concept. If I may I'd like to summarize my understanding of it to ensure that we have a shared view before I dig into it.
  • Dependencies that are resolved when a component is resolved are viewed as component burdens.
  • A burden is the responsibility a component has for decommissioning its dependencies.
  • When a component is released its component burden should also be release, unless the dependency is a singleton in which case it only should be released when the final reference to the component is released. Similar to COM reference counting.
Is my understanding in line with the vision for this?

Regards,
Anders

Hamilton Verissimo

unread,
Mar 20, 2007, 8:11:45 AM3/20/07
to castle-pro...@googlegroups.com
On 3/20/07, Anders Norås <anders...@andersnoras.com> wrote:
> Dependencies that are resolved when a component is resolved are viewed as
> component burdens.

Right

> A burden is the responsibility a component has for decommissioning its
> dependencies.

Yep

> When a component is released its component burden should also be released,


> unless the dependency is a singleton in which case it only should be
> released when the final reference to the component is released. Similar to
> COM reference counting.

You don`t need to worry about the lifestyle. If you release a
singleton, nothing will happen. See
http://svn.castleproject.org:8080/svn/castle/trunk/InversionOfControl/Castle.MicroKernel/Lifestyle/SingletonLifestyleManager.cs

> Is my understanding in line with the vision for
> this?

Absolutely. You can have a burden per component root (the original
component requested from the container) or the burden can be per
component/dependency. Also, the dispose order should be the inverse of
the creation order.

Reply all
Reply to author
Forward
0 new messages