Cześć, mam zamiar napisać prostą aplikacje konsolową jednak z zachowaniem "dobrych praktyk programowania". Moje pytanie dotyczy głównie klasy, która będzie pokazywała opcje do wyboru dla użytkownika(instrukcja switch, wykonywana w pętli do czasu aż użytkownik nie wybierze opcji zamknięcia programu). Miałbym parę serwisów w tej aplikacji i w zależności od wyboru użytkownika odpowiedni serwis wykonywałby jakąś metodę (np dodawanie obiektu do bazy). Nie za bardzo wiem jak mógłbym w przypadku aplikacji tego typu zastosować dependecy injection. Stąd też pojawiają się moje wątpliwości czy zrobienie z tej klasy singletona to dobry pomysł? Jeśli nie to byłbym wdzięczny za jakieś propozycje.
Ps.
Po to aby klasa menu nie była zależna bezpośrednio od klas serwisów, chciałem zrobić coś w tym stylu:
private ServiceInterface service;
....
case "2":
service = new SmsService();
service.metoda();
break;
case "3":
service = new MailService();
service.metoda();
...