2008-10-27 16 views
8

Poszukuję najlepszych praktyk dotyczących używania tych samych danych w różnych miejscach bez numeru repeating yourself - może to obejmować reguły konfiguracji lub reguły biznesowe.W jaki sposób udostępniasz informacje konfiguracyjne lub reguły biznesowe między językami?

Przykład 1. Reguły sprawdzania poprawności danych, które mają być sprawdzane na kliencie za pomocą javascript, ale użytkownik chce się upewnić, sprawdzając poprawność na serwerze.

Przykład 2. Dostęp do bazy danych, gdzie twój serwer sieciowy i twoje pliki cookie używają tego samego hasła, nazwy użytkownika.

Łatwość przetwarzania i rozwiązanie czytelne dla człowieka to plus.

+0

To nie jest "konfiguracja" w zwykłym tego słowa znaczeniu. To jest kod. Opuść "konfigurację" i wpisz "kod" lub "reguły biznesowe" lub coś innego w pytaniu. –

+0

Dodałem reguły biznesowe do tytułu i tagów, ale myślę, że konfiguracja dotyczy drugiego przykładu. MySQL na przykład odnosi się do plików .my.cnf (z użytkownikiem, hasłem, hostem itp.) Jako plików konfiguracyjnych. – Ken

Odpowiedz

6

Zakoduj swoje dane w JSON. Jest biblioteka JSON dla prawie każdego języka, o którym chciałbyś pomyśleć, a jeśli nie, to bardzo łatwo jest go zakodować. Jeśli JSON nie wystarcza, może spojrzeć na YAML.

+0

Myślę, że to działa dobrze tylko dla przykładu 2 (dane), a nie dla przykładu 1 (logika). –

+0

Jeśli chcesz być całkowicie neutralny językowo, musisz mimo wszystko zakodować logikę w jakichś danych. Oczywiście możesz przejść całą drogę i użyć wyrażeń S Lisp, więc twój kod * to * dane. :-) –

+0

Dzięki Jouni - przepraszam za późną akceptację. Próbowałem czegoś, co poradziłoby również z przykładem 2, ale twój na razie jest odpowiedni. – Ken

3

XML jest dość globalnie używany. Łatwy do odczytania, łatwy do napisania i czytelny dla człowieka. Jeśli martwisz się o narzut miejsca (który tak naprawdę nie jest, jeśli chcesz być czytelny dla człowieka), po prostu skompresuj go przed wysłaniem, XML kompresuje całkiem dobrze.

+0

Wszystkie pliki tekstowe ogólnie dobrze się kompresują. –

0

Tak wiele nienawiści, jak im się wydaje, za udostępnianie reguł sprawdzania poprawności danych, będę musiał powiedzieć Regular Expressions.

Wiem, wiem, wszyscy ich nienawidzą, ale są (ogólnie) agnostyczni.

+1

Są agnostyczne dla języka, tylko jeśli używasz małego podzestawu funkcji. –

0
  1. Zmienne Zastosowanie O/S (envvars Środowisko) do przechowywania informacji o konfiguracji aplikacji (takich jak db haseł)

  2. reguły poprawności często wymagają logiki. Możesz napisać swoje zasady w JavaScript, a następnie uruchomić je w przeglądarce, serwerze (używając Nashorn) i bazie danych (PLV8 z Postgres).

Powiązane problemy