Dr Darren of Webel IT Australia makes the case for better object-orientation for Mathematica using pseudo class ADTs without losing the super-functional power of the Wolfram Language Gallery Tutorial [STUB] TRAIL: Mathematica: The Webel recipe for Abstract Data Type (ADT) pseudo classes with inheritance for the Wolfram Language Section
Mathematica: Webel: ADT pseudo classes: TIP: Prefer the Decorator Pattern over multiple inheritance of ADT-Method UpValues! (But not because "inheritance is evil", it isn't.)
Mathematica: POLICY: Webel: ADT pseudo classes: Multiple inheritance is supported via ONE (only) ADT-Class and one or more ADT-MemberInterfaces (which have no ADT-Method UpValues)
Mathematica: POLICY: Webel: ADT pseudo classes that define membership of ADT-classes in a domain package have ADT-signature MemberInterface[$$:None] and MUST NOT populate ADT-method UpValues in their definers.
[STUB] TRAIL: Mathematica: The Webel recipe for Abstract Data Type (ADT) pseudo classes with inheritance for the Wolfram Language Jump to first slide Dr Darren of Webel IT Australia makes the case for better object-orientation for Mathematica using pseudo class ADTs without losing the super-functional power of the Wolfram Language Sections