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=unavailable autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!news.eternal-september.org!feeder.eternal-september.org!nntp-feed.chiark.greenend.org.uk!ewrotcd!newsfeed.xs3.de!io.xs3.de!news.jacob-sparre.dk!franka.jacob-sparre.dk!pnx.dk!.POSTED!not-for-mail From: "Randy Brukardt" Newsgroups: comp.lang.ada Subject: Re: Constructing by classwide type Date: Wed, 19 Apr 2017 15:45:55 -0500 Organization: JSA Research & Innovation Message-ID: References: <93d2cfb3-1518-4d99-8075-e636e1f32b5d@googlegroups.com> NNTP-Posting-Host: rrsoftware.com X-Trace: franka.jacob-sparre.dk 1492634756 24019 24.196.82.226 (19 Apr 2017 20:45:56 GMT) X-Complaints-To: news@jacob-sparre.dk NNTP-Posting-Date: Wed, 19 Apr 2017 20:45:56 +0000 (UTC) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2900.5931 X-RFC2646: Format=Flowed; Response X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.6157 Xref: news.eternal-september.org comp.lang.ada:46601 Date: 2017-04-19T15:45:55-05:00 List-Id: "Dmitry A. Kazakov" wrote in message news:od5qd0$10nc$1@gioia.aioe.org... > On 2017-04-18 20:57, Randy Brukardt wrote: >> "Alejandro R. Mosteo" wrote in message >> news:od5ins$drj$1@dont-email.me... >> ... >>> I've been under the same circumstances recently and wondered the same. I >>> hope you get some informed answers. Until date, I have noticed no >>> drawbacks and all the advantages you mention. >> >> I don't think there is AN answer. Unless you have to satisfy someone who >> is >> worshipping a the church of OOP, the best design is the one that works >> for >> your application, minimizes unnecessary coupling, and makes as many >> errors >> as possible detectable at compile-time. > > Yes, but in some cases one can prove more or less formally that the design > might not work. So it is not always arbitrary. > > Regarding the question it seems overloading vs. overriding / factory vs. > constructing functions, not really exactly same use case. Which was really my point: the design should get organized according to the use, not according to some religion which is then bent to the use. In my experience, the factory constructor use case doesn't come up much - most of the time you know what object you need (and want to create it statically). Randy.