comp.lang.ada
 help / color / mirror / Atom feed
From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: OOD in Ada?
Date: Fri, 28 Jun 2002 19:08:08 -0500
Date: 2002-06-28T19:08:08-05:00	[thread overview]
Message-ID: <uhpui5mqejg73@corp.supernews.com> (raw)
In-Reply-To: ueleupg6i.fsf@FWILSON.i-did-not-set--mail-host-address--so-shoot-me

Fraser Wilson wrote in message ...
>"David Crocker" <dcrocker@eschertech.com> writes:
>
>> There is no way I want to put all the expression and statement
classes in
>> one package! The natural way to construct the project is to put each
class
>> in its own file (and hence package, if I am using Ada).
>
>Put just the abstract base classes for Expressions and Statements in
>the same package, and put derived classes in their own packages.  You
>could use child packages for this.
>
>My compiler is structured along these lines:
>
>   package Trees;   --  abstract base class for tree node
>   package Trees.Expressions;
>   package Trees.Expressions.Operators;
>   -- ...
>   package Trees.Statements;
>   package Trees.Statements.Ifs;
>   -- enzofoort
>
>You get the idea.  If it turned out that expressions and statements
>were mutually dependent, I would have either put them both in the same
>package, or have only the package bodies rely on each other (which you
>can do by casting down at run time -- not really recommended, but
>nevertheless useful).


This is a fine solution, but it runs into a problem in use: essentially
every reference to anything will need a type conversion to the "real"
type in order to access the operations/components. (This happens a lot
in the Claw Builder, and it gets really old, especially in a
"use"-adverse environment, because the type conversions make the code
much harder to read.)

That is why the ARG has spent so much time on the various proposals
here, and finally appears to have settled on the "type stub" approach.

               Randy Brukardt






  reply	other threads:[~2002-06-29  0:08 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-06-21 16:39 OOD in Ada? David Crocker
2002-06-21 17:20 ` Pat Rogers
2002-06-21 19:37   ` Ed Falis
2002-06-23  3:05   ` Ted Dennison
2002-06-23  7:03     ` tmoran
2002-06-24 21:41       ` Ted Dennison
2002-06-24 14:19     ` Stephen Leake
2002-06-21 17:22 ` Marin David Condic
2002-06-22  4:42 ` Jeffrey Carter
2002-06-22  9:18 ` Dr. Michael Paus
2002-06-22  9:47   ` Pascal Obry
2002-06-22 13:11     ` Dr. Michael Paus
2002-06-22 13:46       ` OOD in Ada? Correction Dr. Michael Paus
2002-06-22 18:21         ` Simon Wright
2002-06-28 23:57         ` Randy Brukardt
2002-07-09  8:45           ` Preben Randhol
2002-07-09 17:12             ` Mark Biggar
2002-07-09 19:40             ` Randy Brukardt
2002-06-23  3:33   ` OOD in Ada? steve_H
2002-06-23  4:55     ` Jim Rogers
2002-06-23  5:33       ` achrist
2002-06-25 18:00       ` Georg Bauhaus
2002-06-25 18:55         ` Marin David Condic
2002-07-07 18:19           ` Daniel Dudley
2002-06-23  7:46     ` Dr. Michael Paus
2002-06-24  5:06       ` steve_H
2002-06-23 19:26   ` Chad R. Meiners
2002-06-22 22:47 ` Dmitry A.Kazakov
2002-06-24 20:03 ` Kevin Cline
2002-06-25 13:32   ` David Crocker
2002-06-25 13:58     ` Marin David Condic
2002-06-26 18:16       ` tmoran
2002-06-26 18:47         ` Marin David Condic
2002-06-27 18:23           ` tmoran
2002-06-28 13:09             ` Marin David Condic
2002-06-26  0:59     ` Hyman Rosen
2002-06-26  4:57       ` Jim Rogers
2002-06-26 12:49       ` Marin David Condic
2002-06-26  9:01     ` Fraser Wilson
2002-06-29  0:08       ` Randy Brukardt [this message]
2002-07-01 11:50         ` Fraser Wilson
2002-07-05 20:02     ` Stephen J. Bevan
2002-07-09 19:19 ` Craig Carey
replies disabled

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