Przygody z oprogramowaniem
  • Start
  • Szkolenia
    • Szkolenia otwarte
    • Katalog szkoleń
  • Usługi
    • Konsulting
    • Mentoring
    • Research & Development
  • Blog
  • Wiedza
    • Strefa wiedzy
    • BFsharp
    • SaaS
  • Klienci
  • Kontakt
0

Dlaczego singleton jest zły?

18 January, 2013-Wzorce

Singleton jest jednym z dobrze znanych i często stosowanych antywzorców. Zacznijmy od razu od poniższego przykładu:

public class OrderProcessor
{
    public void Process(Order order)
    {
        // Validate
        // Do some work
        if ( Settings.Instance.ShouldLog )
            Logger.Instance.Log("Order id=5 processed successfully");
    }
}

Jeśli mielibyśmy napisać unit test, to jak to zrobić?
Jak wytestować w izolacji klasę procesora?

Można sobie wyobrazić, że ustawienia czytają jakiś plik z dysku, a logger zapisuje.
Jest bardzo trudno zestawić łatwo i szybko takie środowisko. Jeśli tak będzie to szybko przestanie nam się chcieć pisać testy.

Więcej na ten i powiązane tematy można znaleźć w najnowszym artykule w Programiście. Polecam.

Programista

Kategorie

Architecture BFsharp Blog Business Framework C# CqRS DDD Debugging DSL EntityFramework Formula JavaScript Linq NHibernate SaaS Silverlight SQL Visual Studio WPF Wzorce

O mnie


RSS Feed

© macmichal.pl 2011 Wszystkie prawa zastrzeżone