comp.lang.ada
 help / color / mirror / Atom feed
From: Maciej Sobczak <see.my.homepage@gmail.com>
Subject: Re: How to return an empty aggregate
Date: Sat, 5 Apr 2008 06:48:36 -0700 (PDT)
Date: 2008-04-05T06:48:36-07:00	[thread overview]
Message-ID: <d96f6360-22c2-4060-8aa9-d67739e1ad2b@e39g2000hsf.googlegroups.com> (raw)
In-Reply-To: db3cd468-6de5-4014-8127-5056de6e208e@m3g2000hsc.googlegroups.com

On 5 Kwi, 01:58, george.p...@gmail.com wrote:

> To me it seems that simple callback will be much more simple and clear
> way to achieve the same result.

It depends where you start with the design. If you start with
stateless concrete factories (or you just see the whole picture right
from the beginning), then callbacks will seem attractive. But if you
start from the user site without knowing up-front what will kind of
factory will be used then 'Class is the OO way to solve the problem.

What will you do with the callback interface if at some point you
discover that stateful factory will be most appropriate? Will you mess
around with local functions that manipulate state from their enclosing
scope? What about many such factories that have distinct states? And
so on.

> > If it's stateless, then it does not need any protection - there is
> > nothing to protect.
>
> except for reenterance that in most of cases matter for that type of
> objects.

If it's stateless, then reentrance is given for free.

--
Maciej Sobczak * www.msobczak.com * www.inspirel.com



  reply	other threads:[~2008-04-05 13:48 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-04-01 11:58 How to return an empty aggregate Maciej Sobczak
2008-04-01 12:54 ` Anh Vo
2008-04-01 17:18   ` Adam Beneschan
2008-04-02  7:16     ` Maciej Sobczak
2008-04-01 13:34 ` Dmitry A. Kazakov
2008-04-01 15:00 ` Robert A Duff
2008-04-02  7:19   ` Maciej Sobczak
2008-04-03  5:02     ` george.priv
2008-04-03  9:09       ` Maciej Sobczak
2008-04-04 15:38         ` george.priv
2008-04-04 20:35           ` Maciej Sobczak
2008-04-04 23:58             ` george.priv
2008-04-05 13:48               ` Maciej Sobczak [this message]
2008-04-05 16:04                 ` george.priv
2008-04-05 21:14                   ` Maciej Sobczak
2008-04-05 22:36                     ` george.priv
2008-04-06 19:53                       ` Maciej Sobczak
2008-04-06  7:00                     ` george.priv
2008-04-06 20:04                       ` Maciej Sobczak
2008-04-07 20:23                         ` george.priv
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox