Talk:Injectable Singleton

From APIDesign

Revision as of 06:29, 22 October 2013 by 188.143.232.12 (Talk)
Jump to: navigation, search

Questions?

Andrei Badea said ...

Often the MockDialogDisplayer used in tests will be configurable. For example, it may have a constructor taking a parameter that says whether the yesOrNo() method returns true or false. So in a test I create an instance of MockDialogDisplayer, as opposed to letting ServiceLoader or the Lookup library create it. When I hold such an instance, how do I set it as the singleton instance?

--Andrei Badea 11:52, 12 February 2010 (CET)

Simple answer is that Lookup.getDefault() is in fact a "meta-singleton", so you can have a testing implementation that will allow you to do what you want. I am still looking for more complex answer that would use mockito.

--JaroslavTulach 12:08, 18 March 2010 (UTC)

Viky said ...

Using singletons as glablos is just plain wrong and on top of that inefficient. If you use a pure global the assembly doesn't have to check every time if the static has been initialised. I once read an interesting article by Herb Sutter in CUJ on "singleton pattern abuse". Unfortunately game programmers (not all of them) including me often can't be bothered to design software beyond their nose and establish clear ownership rules so glablos, pardon, singletons will be around for some time.

--Viky 08:29, 22 October 2013 (CEST)

Personal tools
buy