Używam następujące ramy konfiguracyjnych rodzimych zarządzanie konfiguracją moich projektów przez kilka lat:Wymiana ramy konfiguracyjne, szukając alternatywnego
Pierwsze jeden laduje Java
.properties
plików (kilka liniisupergroup.subgroup.property=value
z obsługą kolekcji) i działa dobrze w wielu sytuacjach (uważam, że jest to najlepsze dla małych aplikacji). Ten dobrze dla bardzo prostych konfiguracjiDRUGIM podstawie
DataContractSerializer
(i ewentualnieXmlSerializer
), w którym wszystkie funkcjonalności pierwszego ze wszystkimi z zalet XML i mniejszej hydraulicznego, aby działać. Ta jest dobra, ale niepraktyczna i uciążliwa w zarządzaniu bez jawnego interfejsu użytkownika, aby złagodzić bóle głowy nauczania użytkowników końcowych w celu modyfikacji XML.
Oba istniejących ram marszałka do iz Poços bez problemu, aby umożliwić dostęp do wartości konfiguracyjnych poprzez Properties/polami (poprzez ręczny/automatyczny serializacji odpowiednio), a więc są bardzo łatwe do pracy jako deweloper.
Teraz, gdy sprawdzam ich zdolność do włączenia bazy danych i płynnej konfiguracji, szukam alternatywnej (najlepiej open source) alternatywy. Nie mam problemu z przerabianiem wszystkich moich istniejących projektów, jeśli mogę ograniczyć niepotrzebne duplikowanie kodu i zezwolić im na dostęp do bazy danych i płynną konfigurację (oprócz ich istniejących umiejętności).
Jakieś sugestie, czy też warto je przetasować, aby uzyskać funkcje, których szukam?
W moich badań znalazłem this potencjalnie duplikat pytanie, które jest odbierane przez Nini ale nie został zaktualizowany w prawie 2 lat i obsługuje tylko opcje mam już objęte (na podstawie jego dokumentacji w każdym razie). Czy tęskniłem za czymś w swoich badaniach lub czy istnieje lepsza alternatywa?
Aktualizacja
Na wyraźne cechy Jestem po to:
- pliki XML
- INI/Java-jak
properties
pliki - Database (przynajmniej MS SQL i SQLite, opcjonalnie MySQL i wszelkie inne, jak można sobie wyobrazić)
- Płynna (generowanie kodu nie jest wymagane)
- Jakieś rozszerzenie API, które pozwala mi dodawać własne źródła.
- Z pewnością konieczne jest przekształcenie do/z dowolnego źródła danych, aby było dostępne za pośrednictwem właściwości/pól.
- wsparcie Wyliczanie
byłbym zainteresowany w rozszerzaniu istniejących ram, jeśli jest wystarczająco otwarty na to, co muszę zrobić, ale poza tym to chyba nie jest dobrym rozwiązaniem.
UPDATE
Funkcjonalność z istniejącego System.Configuration
nazw jest wielki, a ja jestem pewny, jak dobrze może to działać, ale w ogóle nie robić to, co szukam. Używałem go (nawet w zaawansowanych scenariuszach), ale ponieważ umożliwia on jedynie ograniczoną rozszerzalność kodu XML: po prostu nie jest to tym, za czym jestem.
Jeśli muszę podać jedną z predefiniowanych funkcji, powiedziałbym, że płynna konfiguracja jest najmniej ważna (bardzo trudno byłoby zapewnić cenny interfejs dla tego ogólnie). Po prostu połączę coś ze wszystkim, co znajdę.
Sam fakt, że minęło ponad 24 godziny (i> 125 wyświetleń) i nikt nie był w stanie zaoferować rozsądnej alternatywy, mówi mi, że prawdopodobnie nie istnieje. Zacznę od siebie w nadziei, że ktoś może zapewnić interesującą alternatywę.
Czy potrafisz sprecyzować funkcje, których szukasz? Dostęp do DB (co oznacza, że przechowuję konfigurację w centralnym repozytorium, jak sądzę) i płynną konfigurację. Coś jeszcze? –
@VincentHubert - Zaktualizowano z minimalnymi wymaganiami. –
w zakresie przeróbek projektu, należy pamiętać o Interface Not Implementation - IMHO, to jest rzecz, w której tworzy się interfejs, który określa, w jaki sposób chcemy, aby kod mógł wchodzić w interakcję z bieżącą strukturą konfiguracji. Następnie, jeśli coś nie spełnia wszystkich twoich potrzeb, możesz po prostu "wypełnić luki", aby interfejs został zaimplementowany –