Programowanie programów w javie a ich konfiguracja ?

0

Witam panowie i panie [green] , mam pewien dylemat z którym nie do końca umiem sobie poradzić otóż zawsze co tworzyłem aplikacje to jej konfiguracja -zmienne,konfiguracja wysokości etc,dostęp do plików itd były w każdej klasie gdzie było to potrzebne .A teraz zastanawiam sie czy nie lepiej zapisywać cała konfiguracje w jednym pliku i później extends Config , tylko później będzie problem żeby coś dziedziczyć od innej klasy , bo z tego co mi wiadomo to java nie obsługuje wielokrotnego dziedziczenia.Czekam na wasze sugestie na 80% wiem co wybrać ale chętnie poczytam wasze opinie na ten temat.Zapraszam do dyskusji [soczek]

0

Jest masa możliwości.
Pierwsza to użycie plików properties i narzędzia do konfiguracji. Przykładowo w konstruktorze:

public Obj(){
  HashMap<String> conf = PropertyConfigurationUtil.getConfigurationForObject("obj"); //podajesz class name;

// tutaj konfigurujesz

}

Metoda dobra jak używasz singletonów, bo jest kosztowna. Można ją zoptymalizować o ile umiesz posługiwać się refleksją. Zamiast properties mozesz użyć własnego xmla.
Druga metoda to JavaBeans podajesz konfigurację w xmlu i tworzysz obiekty za pomocą fabryki - beana. Ma ona wczytaną z xmla konfigurację dla obiektu i zanim zwróci nowy obiekt odpowiednio go skonfiguruje.
Możesz też wykorzystać oparty o beany framework aplikacji taki jak Spring. Robi to co poprzednia propozycja, ale jednocześnie dba o spójność, zależności pomiędzy klasami i zarządza cyklem życia obiektów.

0

Witam

A nie mozna uzyc czegos takiego jak

 static final zmienna;

czy to nie z tym sie je:)?

0

:)
sam sobie odpowiedzialem na to pytanie.

Bedzie problem z konfiguracja, w razie zmian, trzeba zmian dokonac w kodzie.:)

0

@chimera80, w dodatku poza koniecznością zmiany konfiguracji przez rekompilację kodu dochodzi problem dziedziczenia. Zmiennych final nie dziedziczy się i nie można ich w praktyce nadpisać. Jest jeszcze jedna metoda polegająca na konfigurowaniu za pomocą properties tylko połączenia do bazy danych i trzymania wszystkich konfiguracji w bazie. Widziałem coś takiego w praktyce i bardzo fajnie się sprawdzało.

1 użytkowników online, w tym zalogowanych: 0, gości: 1