From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII X-Google-Thread: 103376,76ec5d55630beb71 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2003-06-03 07:54:39 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!logbridge.uoregon.edu!prodigy.com!prodigy.com!wn14feed!worldnet.att.net!204.127.198.203!attbi_feed3!attbi.com!rwcrnsc53.POSTED!not-for-mail Message-ID: <3EDCB68D.9070802@attbi.com> From: "Robert I. Eachus" User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.0.2) Gecko/20021120 Netscape/7.01 X-Accept-Language: en-us, en MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: Ada 200X References: <3EDAD07A.3010200@attbi.com> <3EDB5DBE.4070807@attbi.com> <3EDBBC18.6080103@attbi.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 8bit NNTP-Posting-Host: 24.62.164.137 X-Complaints-To: abuse@attbi.com X-Trace: rwcrnsc53 1054652078 24.62.164.137 (Tue, 03 Jun 2003 14:54:38 GMT) NNTP-Posting-Date: Tue, 03 Jun 2003 14:54:38 GMT Organization: AT&T Broadband Date: Tue, 03 Jun 2003 14:54:38 GMT Xref: archiver1.google.com comp.lang.ada:38491 Date: 2003-06-03T14:54:38+00:00 List-Id: Vinzent Hoefler wrote: > Mmh, well. I encounter a third variant quite often. For instance let's > take a short look at a part of the good old TurboVision object > hierarchy: > > +-------+ > �TObject� > +-------+ > | > +-----+ > �TView� > +-----+ > | > +----------------------------------------------+ > | | | | | | | > +----------+ | +----------+ | +--------+ | +------+ > |TScrollBar| | |TInputLine| | |TCluster| | |TGroup| > +----------+ | +----------+ | +--------+ | +------+ > | | | | | > +-----------+ +--------+ | +-----------+ +-------------+ > �TStaticText� �THistory� | �TListViewer� | > +-----------+ +--------+ | +-----------+ | > | | | | > +-----------+ | +-----------+ | > | | | | | | > +------+ +----------+ | +--------+ +--------------+ | > |TLabel| |TParamText| | |TListBox| |THistoryViewer| | > +------+ +----------+ | +--------+ +--------------+ | > +------+--------+ +--------+ > | | | | > | +-----------+ | +-------+ > | |TCheckBoxes| | |TWindow| > | +-----------+ | +-------+ > +-------------+ +----------------+ | > |TRadioButtons| |TMultiCheckBoxes| | > +-------------+ +----------------+ | > +-------------+ > | | > +--------------+ +-------+ > |THistoryWindow| |TDialog| > +--------------+ +-------+ > This rather looks like a tree. And I doubt, any medium sized OO-System > would be much different from that just because it's Ada. First, lets get a view that doesn't hide the structure: TObject TView TScrollBar TStaticText TLabel TParamText TInputLine THistory TCluster TRadioButtons TCheckBoxes TMultiCheckBoxes TListViewer TListBox THistoryViewer TGroup TWindow THistoryWindow TDialog Let's actually put our Ada hats on and look at that hierarchy. The TObject vs. TView looks to be methodological not logical. Notice that there is a descendent TListViewer, which is the only view related direct child.) TView has seven children. If you redid this in Ada, I don't know if TCluster and TGroup would remain as 'real' children but I am sure that TWindow would get elevated. A typical Ada Model-View hierarchy would have Object and View as parents and most other types descended from one or the other. Of course, if I were to reimplement this hierarchy in Ada, I'd try as hard as possible to keep the original structure. I might or might not manage to swallow the naming convention though. ;-)