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-Thread: 103376,aea4cc77526f5e4a X-Google-Attributes: gid103376,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news1.google.com!news.glorb.com!newsfeed2.telusplanet.net!newsfeed.telus.net!edtnps89.POSTED!53ab2750!not-for-mail Sender: blaak@METROID Newsgroups: comp.lang.ada Subject: Re: Separate Compilation in Programming Languages References: From: Ray Blaak Message-ID: Organization: The Transcend User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.1 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Sat, 23 Feb 2008 18:42:54 GMT NNTP-Posting-Host: 154.20.96.87 X-Trace: edtnps89 1203792174 154.20.96.87 (Sat, 23 Feb 2008 11:42:54 MST) NNTP-Posting-Date: Sat, 23 Feb 2008 11:42:54 MST Xref: g2news1.google.com comp.lang.ada:20032 Date: 2008-02-23T18:42:54+00:00 List-Id: writes: > > But there is a way to manage explicit dependencies: express the public > > facing APIs in terms of interfaces with implementation classes that truly > > hide the actual implementation. > > I considered Interfaces. They appear, at first glance, to be a solution. > However, they fall short of what we are seeking here. Once the Interface is > implemented, the rest of the software still depends on that implementation > and there is no model of separate compilation at that point where one can > separate the specification from the implementation. The dependency becomes > bound to the implementation of the Interface not to the Interface > abstraction. I don't understand what you mean. The rest of the software explicitly does not depend on that implementation. That is the point of using an interface. I have made such interface-based APIs, and would tend to build API clients with only the public API present. The implementation would be loaded at run time. The client could not ever be effected by implementation changes; it could not even see the implementation. -- Cheers, The Rhythm is around me, The Rhythm has control. Ray Blaak The Rhythm is inside me, rAYblaaK@STRIPCAPStelus.net The Rhythm has my soul.