Projekt z bazą danych, a rozszerzalność

0

Cześć. Projektuję bazę do swojego projektu i szukam optymalnego rozwiązania. Oto problem: W bazie przechowuję użytkowników wraz z danymi. Jedna z kolumn to język natywny. W kodzie mam enum z językami, którego nie bardzo mam ochotę ruszać bo wydaje się na miejscu. Dodanie języka wymaga jednak zajrzenia w kod źródłowy. Drugą opcją jest ładowanie języków z bazy danych. Dodawanie języka nie wymagałoby wtedy ingerencji w kod źródłowy, jednak musiałbym inaczej go zaprojektować. Zastanawiam się która opcja jest lepsza. Ten projekt chciałem sobie wrzucić w portfolio, więc nie wiem czy mam to traktować jako coś swojego, czy coś, czego ktoś może używać i rozszerzać bez ingerencji w kod źródłowy.

0

Wykorzystaj klasę Locale.

Locale locale = new Locale(language); //language zapisuj w bazie
String language = locale.getLanguage();

W sumie można by napisać konwerter JPA.

0

Moim zdaniem z reguly jesli cos moze sie zmienic, jak te jezyki, czy cokolwiek sobie tam wymusliles, to enum jest dosc slabym pomyslem.

3

Open-Close Rule? Jeśli dodanie nowego "typu" wymaga zmian w kodzie to projekt jest słaby.

0
Shalom napisał(a):

Open-Close Rule? Jeśli dodanie nowego "typu" wymaga zmian w kodzie to projekt jest słaby.

Open-Closed Principle ;p

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