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
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