|
Boost : |
From: Johan Nilsson (r.johan.nilsson_at_[hidden])
Date: 2008-01-16 02:29:34
Pierre-Jules Tremblay wrote:
[snip]
>
> My biggest problem with this design is that it is unsuitable for
> library writers: types derived from typical singleton class designs,
> including boost::singleton and friends under review, invariably give
> rise to
> untestable code. To make a singleton's client code testable involves
> exposing some kind of overridable factory so that the singletonized
> type can be replaced with a test mockup. So far I have found this to
> be a hard problem to solve in general.
Did you notice that it is possible to use multiple inheritance? This way you
can implement and test your domain-specific logic as a "normal" class, and
then just expose a singleton of that specific type using e.g.
boost::singleton<>.
/ Johan
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk