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-7-bit X-Google-Thread: 103376,4cd85c8656c704b6 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2002-12-04 11:19:22 PST Path: archiver1.google.com!postnews1.google.com!not-for-mail From: dennison@telepath.com (Ted Dennison) Newsgroups: comp.lang.ada Subject: Re: Style question: deep inheritance Date: 4 Dec 2002 11:19:22 -0800 Organization: http://groups.google.com/ Message-ID: <4519e058.0212041119.37701571@posting.google.com> References: <5463bc76.0212030344.712c30aa@posting.google.com> NNTP-Posting-Host: 65.115.221.98 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit X-Trace: posting.google.com 1039029562 28773 127.0.0.1 (4 Dec 2002 19:19:22 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: 4 Dec 2002 19:19:22 GMT Xref: archiver1.google.com comp.lang.ada:31445 Date: 2002-12-04T19:19:22+00:00 List-Id: David95038@aol.com (David Kristola) wrote in message news:<5463bc76.0212030344.712c30aa@posting.google.com>... > facing some ridiculously long names. For ... > 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 You do realise that you can use relative naming from within the hierarchy, don't you? For instance, an object inside of SAM.Entities.Things.Portals can refer to an object in the spec of SAM.Entities.Things (or either of the other two parents) without any package notation at all. The only time you'd ever have to use the full name is outside of the SAM hierarchy. In that case, you should *want* to use the full name, to diferentiate SAM.Entities.Things from any other "Things". If the names are annoying because they contain unneeded information, then you shouldn't name things that way. For instance, if it makes no sense to have any other kinds of "Things" inside of SAM, then "Things" should be a sibling package of "Entities" rather than a child.