DevTalk#43 – O wzorcach z Łukaszem Olbromskim

4

Łukasz OlbromskiW 43. odcinku DevTalka czas zająć się tematem, który niejawnie przewijał się wielokrotnie, ale nigdy… wprost.

Akcja: BLOGvember! Post nr 5.
W listopadzie w każdy roboczy poranek na devstyle.pl znajdziesz nowy, świeżutki tekst. W sam raz do porannej kawy na dobry początek dnia.
Miłej lektury i do przeczytania jutro! :)

Rozmawiam z Łukaszem Olbromskim. Zmagaliśmy się swego czasu z Sharepointem przy wspólnym projekcie, odkrywaliśmy NOWE. Sporo się razem nauczyliśmy. Teraz, po latach, i powrocie Łukasza z wieloletniej emigracji do Danii… usiedliśmy przy jednym internecie i pogrążyliśmy w rozmowie. Na Twitterze: @LukaszOlbromski.

Podywagowaliśmy o wzorcach projektowych. Zastanawiamy się co to właściwie są wzorce, po co je wymyślono i jak programiści do nich podchodzą. Podzieliliśmy się swoimi refleksjami odnośnie najciekawszych i najbardziej przydatnych wzorcach. Nie zabrakło również tematu antywzorców, co dla niektórych może okazać się najbardziej przydatną częścią rozmowy.

Wiecie co robić: słuchawki na uszy i PLAY! Za rekomendację na iTunes także się nie obrażę :).

Miłego słuchania!


Montaż odcinka: Krzysztof Śmigiel.
Ważne adresy:

Linki:


Muzyka wykorzystana w intro:
“Misuse” Kevin MacLeod (incompetech.com)
Licensed under Creative Commons: By Attribution 3.0
http://creativecommons.org/licenses/by/3.0/
Share.

About Author

Programista, trener, prelegent, pasjonat, blogger. Autor podcasta programistycznego: DevTalk.pl. Jeden z liderów Białostockiej Grupy .NET i współorganizator konferencji Programistok. Od 2008 Microsoft MVP w kategorii .NET. Więcej informacji znajdziesz na stronie O autorze. Napisz do mnie ze strony Kontakt. Dodatkowo: Twitter, Facebook, YouTube.

4 Comments

  1. Odcinek o szacowaniu czasu realizacji zadania/funkcjonalności/projektu musi być!!! Będę słuchać!!!

  2. Mam jedno ale, jeżeli chodzi o temat “Singleton’a” w kontenerach DI. To, że w niektórych kontenerach nazwano ową funkcjonalność Singleton Scope, nie czyni tego klasycznym singletonem, bardziej mapuje się to na wzorzec Monostate.

    Różnica:
    Singleton, Implementacja zapewniająca tylko jedną instnację danego typu o charakterze globalnym. Praktycznie każdy klient wie, że dany obiekt jest singletonem. -> ble

    Monostate: Implementacja, która zapewnia jednakowy stan(bądź jego brak) dla wszystkich utworzonych, gdzie żaden klient nie zdaje sobie sprawy z owej sytuacji. W przypadku gdy mamy DI po bożemu, czyli rozwiązujemy zależności przez konstruktor, to klient komponentu nie ma zielonego pojęcia kiedy, i dlaczego został on utworzony i klienta nie powinno to obchodzić. Najczęściej są to klasy, które nie mają pół(czyli stanu), a jedynie zbiór metod o wspólnym kontekście. Przykłady, które ja praktycznie zawsze rejestruje jako SingleInstance:
    -DateTimeProvider,
    -proste walidatory,
    -fabryki, mappery
    -etc

    • Kamil,
      Masz rację jeśli chodzi o nomenklatuję, jednak nie widzę sensu w konfigurowaniu bezstanowych obiektów jako singletony. Instancjonowanie klas w .NET jest ekstremalnie tanie, to kwestia przesunięcia wskaźnika “wolnej pamięci” – zalet (szczególnie wydajnościowych) nie zaobserwujemy w 99% przypadków, a dochodzi komplikacja w postaci specjalnej konfiguracji kontenera.