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.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,821f293084877cad X-Google-Attributes: gid103376,public From: Chad Bremmon Subject: Re: Adding a "Project Types" layer to a project Date: 1996/05/02 Message-ID: <31886BD1.51E@comm.hq.af.mil>#1/1 X-Deja-AN: 152583059 references: <3186E51C.250@post.drexel.edu> content-type: text/plain; charset=us-ascii organization: SAM-GAPR mime-version: 1.0 newsgroups: comp.lang.ada x-mailer: Mozilla 2.01Gold (WinNT; I) Date: 1996-05-02T00:00:00+00:00 List-Id: Chris Papademetrious wrote: > > I'm beginning a large project, and I'd like to base the entire project off base types defined in a package, as an extra layer of indirection for which I can > change the underlying functionality later. The problem is, I'm having problems adding this level of indirection. Keep in mind I know very little about Ada 95 > save for what I'm picking up here on the newsgroups and such... > I would hesitate a bit to base everything on a "base types" package. Although it seems like a good idea at first, when you are in the small scale, as the project gets larger, the initially simple types package gets more and more difficult to manage. We have to keep in mind the "object oriented way." Supposedly, the data and the function are together. What you have shown with your software problem is that by taking the vector functions and putting them in another package, they are not available when you use the vector type later on. If you are using vectors, use the vectors package. The indirection provided by the types package seems to confuse the problem. I'm not saying that a "standard" types package is not a good thing. There are times when it may make more sense that you might consider using a types package. In those instances, you may consider limiting the types package to be within the subsystem you are using. cb