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