28. oktober 2012 - 22:05Der er
5 kommentarer og 1 løsning
Spørgsmål om singleton
Jeg har tidligere lavet en klasse, som jeg kun vil have een instans af. Jeg har derfor benyttet mig af singleton pattern til dette formål.
Mit spørgsmål er, hvis jeg har en klasse, der er lavet som en singleton, hvis jeg bruger nedarvning, vil den nedarvede klasse ligeledes kun være een instans af?
public class MinSingleton : MinAndenKlasse { ... }
Jeg satser på 'MinAndenKlasse', der blot indholder nogle faste værdier (dvs. get properties med ting jeg henter fra min konfiguration) også kun er EN instans af.
Er det korrekt?
Eller: er der en måde at unitteste at MinSingleton klasse, kun er en instans?
Den moderne arbejdsplads er i stigende grad afhængig af mødelokaler til at fremme samarbejde, men dette skift medfører også stigende sikkerhedsudfordringer.
Lækkert input. MinAndenKlasse er en almindelig klasse...dog er den en abstract, håber det ikke er et problem. Mht. Unit test så prøver jeg lige dine forslag, og vender tilbage med points. Smid et svar ind, så sender jeg point retur :) når jeg har afprøvet mine Unit tests.
public class MySingleton { private static MySingleton _instance; private static object mylock = new object(); private IRealThing real; private MySingleton() { real = SomeFactoryThatAreDifferentInUnitTestAndRealRuns.Get<IRealThing>(); } public static MySingleton Instance { get { lock(mylock) { if(_instance == null) _instance = new MySingleton(); return _instance; } } } public void SomeThing() { real.SomeThing(); } public int SomeOther() { return real.SomeOther(); } }
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.