[EMAIL PROTECTED] wrote:

> Thanks both for suggestions. I still think that using inheritance is
> somehow cleanest in this case (I always hear the mantra "avoid
> multiple inheritance!", but this is one of the cases it seems to make
> a lot of sense to me), but it's nice food for thought/code anyway.

"Avoid inheritance" would be almost as justified :-)

Problems that may arise with this case of multiple inheritance:

- If you need initializers, ensure that they are all invoked
- What would you do about name clashes? To avoid them your plugins need to
know about each other.
- State (instance attributes) is shared among all your plugins. Since you
call all base classes Commands, Python's double-underscore hack won't work.

Peter

-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to