comp.lang.ada
 help / color / mirror / Atom feed
From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: Full view of a private partial view cannot be a subtype
Date: Tue, 5 Dec 2017 09:20:10 +0100
Date: 2017-12-05T09:20:10+01:00	[thread overview]
Message-ID: <p05krq$1o2s$1@gioia.aioe.org> (raw)
In-Reply-To: p04frg$q8n$1@dont-email.me

On 04/12/2017 22:48, Jeffrey R. Carter wrote:

> With a composition approach you would at a minimum have a list of every 
> operation on every type right there with the type declaration.

Overloaded with the same operations from other widget types.

The fallacy of the argument comes straight from the point that the 
number of operation is just same. GPS is far worse in finding overloaded 
operations.

If Button, Toggle_Button, Radio_Button etc were unrelated then in each 
event handler within a monstrous case over all possible widgets emitting 
the event, good luck finding their operations, cutting and pasting same 
code, you cannot reuse because types are unrelated. Yes, generics they 
will serve the final stroke to this insanity.

> I have been looking at this for over 2 decades and have yet to see a 
> counterexample. If you think you know of one I'd like to see it. Maybe 
> I'm weird and most people have no problem understanding these things, 
> but I've seen plenty of other experienced people have similar 
> difficulties, so I doubt it.

There are no more GUI frameworks based on overloading. Aggregation is 
used only for parent-child widget relationship.

You are welcome to propose one. After all it is only the interface you 
have to design. All the implementation can be based on an existing 
framework with inheritance and overriding...

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de

  reply	other threads:[~2017-12-05  8:20 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-12-03  2:14 Full view of a private partial view cannot be a subtype Jere
2017-12-03 12:01 ` Jeffrey R. Carter
2017-12-03 13:33   ` Jere
2017-12-03 14:34     ` Jeffrey R. Carter
2017-12-03 17:44       ` Robert Eachus
2017-12-03 18:50         ` Simon Wright
2017-12-03 22:10           ` Robert Eachus
2017-12-03 19:03         ` Jeffrey R. Carter
2017-12-03 22:23       ` Jere
2017-12-04  8:25         ` Dmitry A. Kazakov
2017-12-04 18:04         ` Jeffrey R. Carter
2017-12-04 20:41           ` Jere
2017-12-04 21:48             ` Jeffrey R. Carter
2017-12-05  8:20               ` Dmitry A. Kazakov [this message]
2017-12-05 18:16                 ` Jeffrey R. Carter
2017-12-05 20:39                   ` Dmitry A. Kazakov
2017-12-05 21:38                     ` Jeffrey R. Carter
2017-12-05 12:35               ` Jere
2017-12-05 18:40                 ` Jeffrey R. Carter
2017-12-06 12:54                   ` Jere
2017-12-06 18:03                     ` Jeffrey R. Carter
2017-12-05 20:22                 ` Randy Brukardt
2017-12-05 15:27               ` Shark8
2017-12-05 18:50                 ` Jeffrey R. Carter
2017-12-05 20:59                 ` Randy Brukardt
2017-12-05 22:43                   ` Shark8
2017-12-07  0:52                     ` Randy Brukardt
2017-12-05 20:16               ` Randy Brukardt
2017-12-05 21:29                 ` Jeffrey R. Carter
2017-12-07  0:04                   ` Randy Brukardt
2017-12-04 20:49 ` Randy Brukardt
2017-12-05 12:56   ` Jere
2017-12-05 20:12     ` Randy Brukardt
2017-12-17 15:26       ` Jere
2017-12-17 15:39         ` Dmitry A. Kazakov
2017-12-18 22:47           ` Randy Brukardt
2017-12-19  1:22             ` Jere
2017-12-19 23:16               ` Randy Brukardt
2017-12-19  1:01           ` Jere
2017-12-19  9:08             ` Dmitry A. Kazakov
2017-12-19 13:08               ` Jere
2017-12-19 13:27                 ` Dmitry A. Kazakov
2017-12-19 19:10             ` Stephen Leake
2017-12-18 20:45 ` Stephen Leake
2017-12-18 22:54   ` Randy Brukardt
2017-12-19  1:08   ` Jere
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox