comp.lang.ada
 help / color / mirror / Atom feed
From: Maciej Sobczak <no.spam@no.spam.com>
Subject: Re: basic basic ada question
Date: Mon, 23 Oct 2006 16:30:23 +0200
Date: 2006-10-23T16:30:23+02:00	[thread overview]
Message-ID: <ehijlv$eg3$1@cernne03.cern.ch> (raw)
In-Reply-To: <1003e77ytohm0$.1kiriiggzo76m.dlg@40tude.net>

Dmitry A. Kazakov wrote:

>>> 1. T's components
>>> 2. S's components
>>> 3. T (Initialize)
>>> 4. S (Initialize)
>>> 5. T'Class
>>>     -- here a class-wide constructor defined for T can safely dispatch to a
>>>     -- some primitive operation overridden by S
>>> 6. S'Class
>>>
>>> [I am not sure about ordering 5 and 6]
>> And I am not sure why do you need 5 and 6 at all - you've already done 
>> the whole job in 3 and 4.
> 
> You cannot dispatch to the procedures of S from Initialize of T, i.e. from
> 3 before 4 is done. S might be unusable. The step 5 is for this purpose.

But why would you need to dispatch to S after step 4?

>> For me 4 should 
>> be the last step and 5,6 should not exist at all.
> 
> Which is indeed a maintenance disaster. Consider GUI interfaces built in
> C++. Note that practically all of them have procedures like OnInit, because
> it is eventually impossible to construct widgets fully functional. Ada
> suffers this as well. For example, it is impossible to embed task
> components. You need special Start/Stop entries in the tasks.

But then, the construction process will involve the interaction with 
other objects and that's why automating all 6 steps above for a single 
object will not necessarily solve the problem. In the case of GUI, you 
might want to construct widgets somewhere between 4 and 5. The 
OnInit-like procedures provide explicit hooks for this.
I any case, if there is a way to get rid of OnInit, I think it should be 
possible without 5 and 6 anyway - possibly with additional objects 
involved instead, but I'd prefer more elaborate collaboration pattern 
(which is explicit in the design) in place of more elaborate 
construction mechanism (which is implicit).


-- 
Maciej Sobczak : http://www.msobczak.com/
Programming    : http://www.msobczak.com/prog/



  reply	other threads:[~2006-10-23 14:30 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-10-19 14:30 basic basic ada question markww
2006-10-19 14:47 ` Georg Bauhaus
2006-10-19 15:10   ` markww
2006-10-21 10:29     ` Stephen Leake
2006-10-19 15:11 ` Dmitry A. Kazakov
2006-10-19 15:45   ` markww
2006-10-19 16:29     ` Gautier
2006-10-19 17:16     ` Dmitry A. Kazakov
2006-10-19 20:07     ` Jeffrey R. Carter
2006-10-19 22:20       ` Robert A Duff
2006-10-20  5:10         ` Jeffrey R. Carter
2006-10-20  7:13           ` Maciej Sobczak
2006-10-20 20:39             ` Jeffrey R. Carter
2006-10-20  7:25       ` Maciej Sobczak
2006-10-20 20:54         ` Jeffrey R. Carter
2006-10-19 21:30 ` James Alan Farrell
2006-10-19 23:03   ` Robert A Duff
2006-10-20  4:54   ` Jeffrey R. Carter
2006-10-20  7:53   ` Dmitry A. Kazakov
2006-10-20  8:17     ` Maciej Sobczak
2006-10-20  9:08       ` Dmitry A. Kazakov
2006-10-20 11:15         ` Maciej Sobczak
2006-10-20 12:19           ` Dmitry A. Kazakov
2006-10-20 12:38             ` Maciej Sobczak
2006-10-20 13:26               ` Dmitry A. Kazakov
2006-10-20 15:29             ` Robert A Duff
2006-10-20 17:37               ` Dmitry A. Kazakov
2006-10-20 20:59                 ` Robert A Duff
2006-10-21 13:39                   ` Dmitry A. Kazakov
2006-10-21 17:53                     ` Robert A Duff
2006-10-22  8:45                       ` Dmitry A. Kazakov
2006-10-23  7:45                     ` Maciej Sobczak
2006-10-23  9:21                       ` Dmitry A. Kazakov
2006-10-23 14:30                         ` Maciej Sobczak [this message]
2006-10-23 15:08                           ` Dmitry A. Kazakov
2006-10-23 15:49                             ` Robert A Duff
2006-10-24  7:34                               ` Dmitry A. Kazakov
2006-10-20 19:04           ` Simon Wright
2006-10-20 15:27         ` Robert A Duff
2006-10-20 17:37           ` Dmitry A. Kazakov
2006-10-20 21:00     ` Jeffrey R. Carter
2006-10-21  8:19       ` Dmitry A. Kazakov
2006-10-21 17:32         ` Robert A Duff
2006-10-22  8:45           ` Dmitry A. Kazakov
2006-10-30 11:46             ` Martin Krischik
replies disabled

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