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: 103376,64fe8f87aae99538 X-Google-Attributes: gid103376,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!postnews.google.com!m36g2000hse.googlegroups.com!not-for-mail From: george.priv@gmail.com Newsgroups: comp.lang.ada Subject: Re: How to return an empty aggregate Date: Fri, 4 Apr 2008 08:38:52 -0700 (PDT) Organization: http://groups.google.com Message-ID: <2c23eecd-d5bf-4320-b0cd-a45b584ddfe3@m36g2000hse.googlegroups.com> References: <945217e8-ec37-4a33-9847-28e8e7d55798@59g2000hsb.googlegroups.com> NNTP-Posting-Host: 166.129.40.127 Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Trace: posting.google.com 1207323532 21221 127.0.0.1 (4 Apr 2008 15:38:52 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Fri, 4 Apr 2008 15:38:52 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: m36g2000hse.googlegroups.com; posting-host=166.129.40.127; posting-account=VnNb3AoAAACTpRtCcTrcjmPX7cs92k1Q User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13,gzip(gfe),gzip(gfe) Xref: g2news1.google.com comp.lang.ada:20801 Date: 2008-04-04T08:38:52-07:00 List-Id: On Apr 3, 5:09 am, Maciej Sobczak wrote: > On 3 Kwi, 07:02, george.p...@gmail.com wrote: > > > Sorry, maybe I am missing something but what's practical sense of > > having non-abstract null record implementation of interface(s)? > > Stateless strategy patterns? > Factories? > Finite state machines (no need for state within state)? > > Actually, most of the design patterns I can think of make sense in > some stateless form, because the concrete *type* of the object is > often enough to play the role of a state at some higher level. > Maybe I put my question incorrectly. I did not mean challenge those concepts in purity. Good example is a factory. Should it have a mechanism to register-unregister itself? Would it imply either deriving from something like Finalization.Controlled or the other root, or putting some meat into the object itself? In addition such objects make sense in singleton form and likely involve some sort of guarding mutexes or be implemented as protected or tasks. BTW in C++ empty factory class will be fine due to implied constructor/ destructor. > Interfaces are more about operations than about data. > > -- > Maciej Sobczak *www.msobczak.com*www.inspirel.com