Singleton w trzech linijkach

Mówi się, że singleton to najprostszy i jeden z najprzydatniejszych wzorców projektowych. Coś w tym jest, przydaje się zwłaszcza w aplikacjach mobilnych, gdzie nie zawsze możemy przesyłać do innej strony cały jej content. Przydaje się wtedy obiekt, który współdzieli content stron. Możemy to również uzyskać poprzez statyczny obiekt w klasie, natomiast dzięki stworzeniu singletonu nie musimy robić wszystkich metod i pól statycznych, a używanie go później nie różni się niczym od używania zwykłego obiektu. Zastosowanie tego wzorca posiada również inne plusy, ale chciałbym się skupić bardziej na jego implementacji.

Pisząc go po raz n-ty, z małą pomocą ReSharpera udało mi się go streścić do 3 linijek, a wygląda on następująco:

class MySingleton
{
 private static MySingleton _instance;
 public static MySingleton Instance { get { return _instance ?? (_instance = new MySingleton()); } }
 private MySingleton() { }
}

Pobranie instancji singletona wygląda tak:

var mySingleton = MySingleton.Instance;

Jeśli chodzi o inne wzorce projektowe to polecam książkę “Wzorce projektowe”, Bandy Czworga. Podstawową literaturę dla każdego programisty.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

This site uses Akismet to reduce spam. Learn how your comment data is processed.