I\'ve a lot of (abstract) factories and they\'re usually implemented as singletons.
Usually for the convenience of not having to pass them through layers who really hav
The bad form of singleton is the one that implements the equivalent of your Factory method with:
return new CalculationFactory ();
That's much harder to stub, mock or wrap.
The version that returns an object created elsewhere is much better, although like most anything, can be misused or overused.