Greg Wilkins wrote: > ... > But, hopefully most of it can be solved with some renaming and/or > a minor restructure. > ...

Actually reading Giany's issues (14 & 73),  I think we need a
bit more of a rename/restructure.

It does appear that our current AbstractComponent and AbstractContainer
really should be ManagedObjects and it is simple to make them implement the
ManagedObject interface.

Also instead of renaming them to StateManageableComponent & 
StateManageableContainer
(as per my previous email) I think it makes more sense to rename them to
ManagedComponent and ManagedContainer

However, they should probably extend AbstractManagedObject - which currently
duplicates much of the content of AbstractStateManageable.  Thus I think
AbstractStateManageable should be moved to kernel and used as the base for
AbstracteManagedObject.

Thus we would end up with the following hierarchy:

kernel:
                                                      <<StateManageable>>
                                                          ^
                                                          |
                                                      AbstractStateManageable
                                                          ^
                                                          |
                                                      AbstractManagedObject
                                                          ^
core:                                                     |
         <<Component>>  <--- AbstractComponent  <---  ManagedComponent
             ^                 ^                          ^
             |                 |                          |
         <<Container>>  <--- AbstractContainer -----o ManagedContainer
                 ^                                    /
                  \                                  /
                   ----------------------------------








Reply via email to