comp.lang.ada
 help / color / mirror / Atom feed
From: David95038@aol.com (David Kristola)
Subject: Style question: deep inheritance
Date: 3 Dec 2002 03:44:20 -0800
Date: 2002-12-03T11:44:20+00:00	[thread overview]
Message-ID: <5463bc76.0212030344.712c30aa@posting.google.com> (raw)

I am working on a MUD in Ada.  Inheritance lends
itself well to the problem domain, but after a few
levels of child types in child packages, i am
facing some ridiculously long names.  For
instance, portals are used to move from place to
place.  But they are a specialization of inanimate
objects (things), which are a specialization of
general things (entities), which are a
specialization of the parent class (which is used
to avoid the withing problem).  So, portal
specific operations can be found in
SAM.Entities.Things.Portals.  The three (and
counting) specializations of Portals are only
referenced once to initialize them and let them
register themselves into the system.  I could use
renames to flatten out the majority of references
(package SAM.Portals renames
SAM.Entities.Things.Portals;), but you can't
inherit from a rename, so the actual children are
still deeply nested.  The long package names
usually mean long file names.  This could become a
portability problem.

I'm interested in how other people have dealt with
this problem, or suggestions for how i might deal
with it.

Thanks,
--djk



             reply	other threads:[~2002-12-03 11:44 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-12-03 11:44 David Kristola [this message]
2002-12-03 12:55 ` Style question: deep inheritance Dale Stanbrough
2002-12-03 12:56 ` Marc A. Criley
2002-12-04  6:56   ` Anders Wirzenius
2002-12-04 12:41     ` Marc A. Criley
2002-12-06 11:00       ` David Kristola
2002-12-09 15:05         ` Ted Dennison
2002-12-03 14:21 ` Stephen Leake
2002-12-04 19:19 ` Ted Dennison
replies disabled

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