I start to study cocoon by reading the cocoon-core source code on the trunk with some UML tool's help.
I find some designs confusing me, most of them are about unnecessary (duplicate) references:

1. A CocoonServlet instance is associated with an instance of ServletContext and also
   an instance of HttpContext (implementing ServletContext interface), which also wraps the same instance of ServletContext. It seems
   the reference to the instance of ServletContext is not necessary.
   
2. A CocoonServlet instance is associated with an instance of CoreUtil, which in turns is associated with the
   instance of HttpContext at the first point. The association to the HttpContext seems not
   necessary.
   
3. AbstractContext implements both ServletContext and Context, but Context inherits ServletContext. So implementing
   ServletContext is not needed in code.
   
4. An instance of CoreUtil is associated with an instance of MutableSettings and an instance of BootStrapEnvironment, which in turns is associated with another instance of MutableSettings. Can these two instances of MutableSettings be combined as one?
   
   
Regards,
Rice     
    

Reply via email to