Piszę mały serwer sieciowy, i to wymaga pliku konfiguracyjnego z różnymi rodzajami różnych opcji: ile wątków do uruchomienia, jakie oferty klasy, które każde rozszerzenie pliku, który plik do wyświetlenia domyślnie i tak dalej i tak dalej. Aby to przedstawić, parsuję plik konfiguracyjny do obiektu Configuration
, który zawiera wszystkie te ustawienia, a klasa główna przechowuje ten obiekt.
Jednak dane konfiguracyjne są wymagane na prawie każdym poziomie serwera - klasy w ramach klas ...Udostępnianie konfiguracji dla wszystkich klas
Moje pytanie brzmi, jaka jest najlepsza praktyka do wykorzystania tutaj? Czy powinienem podać config jako parametr dla wielu klas i przekazywać go w jedną i drugą stronę? Czy powinienem zrobić singleton? Czy istnieje inne rozwiązanie, którego nie widzę?
Może to zostać złamane, gdy na serwerze zostanie zainstalowana więcej niż jedna aplikacja internetowa. –
@Aaron Digulla - z pewnością. Może nawet włamać się na własną rękę, jeśli ktoś ustawi właściwość na niewłaściwą wartość. Jedynym zabezpieczeniem są raczej długie i specyficzne nazwy właściwości. W naszej aplikacji jest wiele rodzajów właściwości, a podejście do właściwości systemu jest stosowane do najbardziej dynamicznych. Następnie są wdrożone właściwości jako powiązane XML, niektóre właściwości w Manifestie, a także niektóre właściwości zakodowane w ostatecznych klasach jako statyczne statki publiczne. I IMHO istnieją uzasadnione powody, aby korzystać z każdego z podejść. Po prostu nie dla wszystkiego, co to jest – kostja