Witam, tworzę prostą aplikację konsolową , która ma za zadanie wybrać jeden z kilku szyfrów a następnie zaszyfrować lub odszyfrować daną wiadomość.
Przykładowo klasa Polybius
zawiera dwie metody: encrypt()
i decrypt()
.
Następną klasą jest PolybiusControl
zawierająca metodę controlLoop()
mającą na celu, wybrać opcję szyfrowania lub deszyfrowania.
Kolejna klasa to ControlApp
zawierająca metodę controlAppLoop()
wybierająca, który szyfr nas interesuje.
Dzięki temu rozwiązaniu otrzymalem bardzo czytelne menu konsolowe, niestety wadą tego rozwiązania jest powielanie do każdego rodzaju szyfru klasy PrzykładowySzyfrControl, de facto powielając kod.
Moje pytanie: Jak usunąć klasy SzyfrControl jednocześnie zachowując czytelność menu?
Po użyciu Interface efekt jest niezadowalający ponieważ opcja wybierz szyfrowanie i deszyfrowanie pojawia się już w Menu głównym.
Program szyfrujący za pomocą wybranych szyfrów
Wybierz jedną z poniższych opcji:
0 wybierz szyfr Polibiusz
1 wybierz szyfr Cezar
2 wybierz szyfr Atbash
Następnie zdecyduj czy chcesz zaszyfrować czy odszyfrować wiadomość:
3 wybierz szyfrowanie wiadomości
4 wybierz deszyfrowanie wiadomości
5 wyjście z programu