Re: Multiple Inheritance / Generated Hidden Code
Holger Kleinsorgen <[email protected]> Mon, 25 Aug 2025 12:03:15 +0200
| Newsgroups | gmane.comp.lang.smalltalk.vwnc |
|---|---|
| Message-ID | <CAGhifEzd+7CtMgwKK2YKSWRtUcfAwHda82iq=6KVTyZzys1SWw@mail.gmail.com> |
--000000000000ceb1f1063d2daac3 Content-Type: text/plain; charset="UTF-8" Code compiled on-the-fly (e.g. anonymous subclasses) didn't work for me, because it gets unmaintainable (especially with regard to debugging) pretty soon. While it doesn't cover resource management, something like ViewEventController and its composition of ViewBehaviors is pretty flexible and might be adapted to your needs. Holger Am Fr., 15. Aug. 2025 um 11:23 Uhr schrieb stephan <[email protected]>: > On 15-08-2025 10:03, andre wrote: > > Thanks, Helge. > > Having said that, none of this hasn't got wide acceptance. Probably > because the problems they were thought to be solving weren't in the end so > ubiquitous that it made sense to pursue them any further. > > > With most business applications these problems may not arise. > > Multiple-inheritance shines with deep UIs (e.g. Dragable, Audible, > Exportable, Browseable, Convertible) and complex resource management, where > responsibilities and roles are shared across different class hierarchies. > > With Smalltalk it's easy to build up large convoluted structures, but its > hard to properly tear them down and clean up *immediately* (i.e. where GC > is not enough). MI helps with encapsulating these responsibilities because > the entire life cycle of each role/feature/capability is coded only in a > single place. > > > An Entity Component System can also be build using just single inheritance > and composition. > > Stephan > --000000000000ceb1f1063d2daac3 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr"><div>Code compiled on-the-fly (e.g. anonymous subclasses) = didn't work for me, because it gets unmaintainable (especially with reg= ard to debugging) pretty soon.</div><div>While it doesn't cover resourc= e management, something like=C2=A0ViewEventController and its composition o= f=C2=A0ViewBehaviors is pretty flexible and might be adapted to your needs.= </div><div><br></div><div>Holger</div></div><br><div class=3D"gmail_quote g= mail_quote_container"><div dir=3D"ltr" class=3D"gmail_attr">Am Fr., 15. Aug= . 2025 um 11:23=C2=A0Uhr schrieb stephan <<a href=3D"mailto:stephan@stac= k.nl">[email protected]</a>>:<br></div><blockquote class=3D"gmail_quote" = style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);pa= dding-left:1ex"><u></u> =20 =20 =20 <div> <div>On 15-08-2025 10:03, andre wrote:<br> </div> <blockquote type=3D"cite"> =20 <div>Thanks, Helge.</div> <br> <blockquote type=3D"cite"><span style=3D"color:rgb(0,0,0);font-family= :Menlo-Regular;font-size:13px">Having said that, none of this hasn't got wide acceptance. Probably because the problems they were thought to be solving weren't in the end so ubiquitous that it made sense to pursue them any further.</span></blockquote> <div><br> </div> <div>With most business applications these problems may not arise.</d= iv> <div><br> </div> <div>Multiple-inheritance shines with deep UIs (e.g. Dragable, Audible, Exportable, Browseable, Convertible) and complex resource management, where responsibilities and roles are shared =C2=A0across different class hierarchies. <br> </div> </blockquote> <blockquote type=3D"cite"> <div>With Smalltalk it's easy to build up large convoluted structures, but its hard to properly tear them down and clean up *immediately* (i.e. where GC is not enough). MI helps with encapsulating these responsibilities because the entire life cycle of each role/feature/capability =C2=A0is coded only in a sing= le place.</div> </blockquote> <br> An Entity Component System can also be build using just single inheritance and composition. <br> <br> Stephan<br> </div> </blockquote></div> --000000000000ceb1f1063d2daac3--