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.3 required=5.0 tests=BAYES_00, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: 103376,e276c1ed16429c03 X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII Path: g2news2.google.com!news4.google.com!feeder.news-service.com!feeder.erje.net!news.doubleslash.org!open-news-network.org!news.teledata-fn.de!newsfeed.arcor.de!newsspool3.arcor-online.net!news.arcor.de.POSTED!not-for-mail From: "Dmitry A. Kazakov" Subject: Re: Ada is getting more popular! Newsgroups: comp.lang.ada User-Agent: 40tude_Dialog/2.0.15.1 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8bit Reply-To: mailbox@dmitry-kazakov.de Organization: cbb software GmbH References: <4cc60705$0$23764$14726298@news.sunsite.dk> <4cc6753c$0$23756$14726298@news.sunsite.dk> <4cc71e08$0$23758$14726298@news.sunsite.dk> <4cc87d7a$0$23755$14726298@news.sunsite.dk> <4cc912e1$0$23761$14726298@news.sunsite.dk> <10g3vmx6lxyu.bjfg1i5gjcsf$.dlg@40tude.net> Date: Sun, 31 Oct 2010 15:57:50 +0100 Message-ID: NNTP-Posting-Date: 31 Oct 2010 15:57:50 CET NNTP-Posting-Host: a1f54725.newsspool2.arcor-online.net X-Trace: DXC=jgB0Qj08CLY@>[RYkFXOIPA9EHlD;3YcR4Fo<]lROoRQ8kF On Sun, 31 Oct 2010 13:54:33 +0100, J-P. Rosen wrote: > Le 31/10/2010 11:54, Dmitry A. Kazakov a �crit : >> On Sun, 31 Oct 2010 11:38:02 +0100, J-P. Rosen wrote: >> >>> FWIW, here are my criteria for using inheritance: >>[...] >> 5) you want to postpone some design decision/implementation to a later >> point. So you describe/implement what you know for certain right now, in >> the form of an abstract type, and let a derived type to define the rest >> when more information becomes available. >> > Sorry, I don't agree with you on this. I think the structure of the > design should only reflect the logical structure, not the history of the > project. Ideally, but unlikely to happen in projects of real size in real life. > If at some point you don't know enough, express what you know. When > things become clearer, rework what you have done. You may have client code which should be rewritten as well. Then the things (customer requirements) may change several times, so reworking the code in order to achieve monolithic design might be a bad idea. So it is also: 6) allows you not to overspecify interfaces. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de