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=-0.9 required=5.0 tests=BAYES_00,FORGED_GMAIL_RCVD, FREEMAIL_FROM autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: a07f3367d7,158ce2376534c35d X-Google-Attributes: gida07f3367d7,public,usenet X-Google-NewGroupId: yes X-Google-Language: ENGLISH,ASCII Path: g2news2.google.com!postnews.google.com!q15g2000yqk.googlegroups.com!not-for-mail From: Maciej Sobczak Newsgroups: comp.lang.ada Subject: Re: Derived private interface Date: Wed, 10 Aug 2011 03:07:43 -0700 (PDT) Organization: http://groups.google.com Message-ID: References: <27656578-65aa-48b9-9f89-4ebd4e0cb02a@glegroupsg2000goo.googlegroups.com> <0fe3b0f8-c064-444d-899d-640e891b58c3@w4g2000yqm.googlegroups.com> <128d8eb5-1cc6-47e3-a09b-b53a5ef289ce@m10g2000yqd.googlegroups.com> <4e141501$0$6629$9b4e6d93@newsspool2.arcor-online.net> <4b2728fc-6127-45d8-a314-9fc491701c26@g12g2000yqd.googlegroups.com> <82vcve4bqx.fsf@stephe-leake.org> <4e15b223$0$6541$9b4e6d93@newsspool4.arcor-online.net> <4a4f185d-5268-4d73-a5df-8149bd117e0f@h9g2000vbr.googlegroups.com> NNTP-Posting-Host: 83.3.40.82 Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Trace: posting.google.com 1312971281 31672 127.0.0.1 (10 Aug 2011 10:14:41 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Wed, 10 Aug 2011 10:14:41 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: q15g2000yqk.googlegroups.com; posting-host=83.3.40.82; posting-account=bMuEOQoAAACUUr_ghL3RBIi5neBZ5w_S User-Agent: G2/1.0 X-Google-Web-Client: true X-Google-Header-Order: HUALESNKRC X-HTTP-UserAgent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13,gzip(gfe) Xref: g2news2.google.com comp.lang.ada:21476 Date: 2011-08-10T03:07:43-07:00 List-Id: On Aug 9, 11:35=A0pm, "Randy Brukardt" wrote: > I don't see any dependency inversion in the web server. (The web server > calls packages to evaluate particular commands or operations -- that's ho= w > almost all programs work!) The dependency inversion is in the fact that the web server does not have to know the modules it is calling. It is enough if the modules know the web server (and its registry, to be exact) - thanks to this new modules can be added without touching the web server itself (that's the open/close principle at work now). What is needed for the dependency inversion to work is a spec of something common - in the case of OOP this is an interface. > This sounds more like a case of trying to make > everything look like a nail (to the OOP hammer). No, this is trying to reduce the effort to maintain a heavy component that is tested and verified only once. -- Maciej Sobczak * http://www.msobczak.com * http://www.inspirel.com