Tworzenie obiektów i inicjalizacja ich pól przy starcie aplikacji webowej

0

Cześć, czy ktoś może mi podpowiedzieć co zrobić? Chciałbym za pomocą formularza tworzyć profil użytkownika. W tym formularzu można by było wybrać typ konta np. Administrator, Moderator, User. W klasie Profile dodałem pole AccountType accountType. W klasie AccountType jest pole Set<String> accountTypes, które przechowuje typy kont z możliwością późniejszego dodania innych typów jeśli będą takowe potrzebne. Teraz zastanawiam się co zrobić:

  1. Przy starcie aplikacji stworzyć obiekt typu AccountType. W metodzie lub konstruktorze dodać domyślne typy kont do pola Set<String> accountTypes. Ustawić jakiś timer i zablokować tworzenie profilu dopóki nie stworzymy obiektu? W aplikacji będzie 1 instancja tej klasy.

  2. Stworzyć immutable Singleton bez możliwości dodania kolejnego typu konta i trzymać typy kont w stałych.

  3. Czy po prostu tworzyć obiekt AccountType przy tworzeniu formularza? Co jeśli będzie np. 10000 otwartych formularzy w tym samym czasie? Czy taki obiekt mało waży, jest relatywnie tani do utworzenia i nie powinno wyskoczyć OutOfMemory.

  4. Jest jeszcze jakiś inny sposób?

Aplikację tworzę w Java i Spring, ale to chyba kwestia drugorzędna.

2

o_O a może niech AccountType to będzie Enum po prostu? I taki enum ma metodę values która zwraca dostępne wartości...

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