Mam klasę statyczną, która zawiera logikę bazy danych.Jak sprawić, by moja klasa statyczna nie była tak statyczna?
Ta klasa jest używana w witrynie internetowej, usługach sieci Web i jako część komponentu oprogramowania pośredniego.
Dla każdej metody w tej klasie potrzebuję fragmentu informacji kontekstowej od osoby dzwoniącej. W przypadku strony internetowej byłyby to informacje o użytkowniku, w przypadku usługi sieciowej i komponentu oprogramowania pośredniego identyfikowałoby to usługę wywołującą.
Nie mogę zapisać tej wartości w konfiguracji, ponieważ może się to różnić w zależności od użytkownika, a ja nie zawsze mam taki tekst.
Mogłabym łatwo dodać nowy parametr do każdej metody w tej klasie lub mógłbym zmienić ją z klasy statycznej, tak aby miała pojedynczą właściwość niestatyczną, ale żadne z tych rozwiązań nie wydaje się bardzo eleganckie.
Czy są jakieś inne opcje, których nie rozważałem?
świetny tytuł ^^ "jak sprawić, by mój singleton nie był tak pojedynczy" – tanascius
@tanascius - bezcenny +1 powoduje, że wszystko, co mogę dać. @chris, możesz przemyśleć swoją strategię. W ogólnym raporcie zbiorczym powiem: "Statyczny DAL prosi o kłopot". .2 pesos. –
@Sky Sanders - dzielenie włosów tutaj, ale DAL jest klasą linq do sql, jest to moja logika baz danych, która jest na wierzchu. Ignorując fakt, że już zaakceptowałem odpowiedź i przeszedłem drogą nie statyczną, czy mógłbyś zakwalifikować swoje oświadczenie "prosić o kłopot"? Dlaczego klasa statyczna to zły pomysł? –