Wpis z mikrobloga

@Paczek_w_masle: Myślałem, żeby to całe repozytorium nie było globalnie trzymane, bo nie ma po co. Podepnę je pod prezenter jednej z formatek i tyle. Teraz mam kolejny problem - w jaki sposób powiązać ten wyprodukowany obiekt z ustawieniami. Najpewniej wykorzystam coś na kształt tabelki właściwości. :P
@japer: Z Singletonem jako obiektem, który występuje w ilości 1 w całej aplikacji nie ma nic złego. Problem jest jak tą zależność dostarczasz przez statica. Wstrzyknij przez kontener i będzie koszernie :)
@Paczek_w_masle:

@mathix:

@MacDada: co do IoC container, to jest taki problem, że mam zbiór algorytmów sortowania i losowania elementów tablicy i mają odpowiednio takie same typy bazowe. Czyli muszę stworzyć klasę, która będzie przechowywać instancje odpowiednich klas? W jaki sposób to zrobić?

Oczywiście chcę, żeby można było wybierać algorytm w trakcie wykonywania programu.
@mathix: aplikacja okienkowa na WinFormsach z użyciem MVP i własnych do tego interfejsów. W tej bazie chcę składować poszczególne algorytmy sortowania. W drugim pojemniku chcę składować algorytmy wypełniania tablicy. No i właśnie siebie się pytam, czy zrobić to w formie singletona, czy wrzucić te kontenery odpowiednio do prezenterów okien wyboru, czy jak... :P
@japer: Ja bym całą aplikację zbudował przy użyciu Ninjecta i wstrzyknął kolekcje tych algorytmów do presetntera. Jak nie masz Ninjecta to możesz walnąć od biedy singletona. Nikt od tego nie umrze, a widzę, że apka raczej mała.
@japer: Nie wiem jak się to w C# konkretnie robi, ale zasady ogólnie są te same.

Chcesz mieć jakąś funkcjonalność. Ta funkcjonalność po drodze chce sortować. Wstrzykujesz jej mechanizm sortowania.

Jeśli chcesz mieć wybór mechanizmu sortowania „w runtime”, to robisz sobie albo fabrykę, resolver, cokolwiek, co dostarczy Ci implementację. Pytanie się pojawia: w jaki sposób chcesz zdecydować, która klasa sortera ma być wybrana.