Importance of C# (was Re: IronPython-0.6 is now available!)

Dieter Maurer dieter at handshake.de
Fri Aug 13 16:00:33 EDT 2004


grv575 at hotmail.com (grv575) writes on 9 Aug 2004 22:56:55 -0700:
> ...
> Really MI
> causes more issues and confusion than it solves.

I recently implemented a core SGML/XML based content management
system within about 4 months.

It heavily uses mixin classes: PropertyManagement, History, WorkflowSupport,
Persistency, Skinnability, DOMSupport, Publishablity, Versionability, ...

Whenever a class needs some elementary feature, it simply inherits
the corresponding mixin class and (maybe) customizes (overrides)
some adapter methods.

Multiple inheritance is vital for this approach!


While it would (of course) be possible to implement such
a system with single inheritance (or even without inheritance),
I guess that the code size would be about 6 times as large
and it would have taken about twice as long:

   A class that now just adds a mixin class to its inheritance
   list would get littered with redefinitions
   for the mixin class's public API functions.

   Each redefinition would stupidly delegate to an embedded
   instance of the mixin class, thus it is not difficult.
   Nevertheless, it would clutter the code, make unnessary effort,
   add potential for trivial bugs.


Dieter



More information about the Python-list mailing list