Chciałbym spytać czy dobrze rozumiem te zasadę podając dwa przykłady dotyczące wyświetlania oraz sterowania Menu programu. Która praktyka jest lepsza? Uruchomienie funkcji main i program przeskakuje z funkcji do funkcji (przykład 1) czy pisanie całej logiki i co ma się dziać po danym kroku, w funkcji main (przykład 2)? Mam nadzieje że zrozumiale wytłumaczyłem o co mi chodzi. Czy na tym polega zasada jednej odpowiedzialności jak na przykładzie 2, aby dana funkcja zajmowała się tylko jedną rzeczą i nie odwoływała do kolejnej?
public class App {
public static void main(String[] args) {
Menu menu = new Menu();
menu.showMenu();
}
}
public class Menu {
public void showMenu() {
System.out.println("1: Start quizu");
System.out.println("2: Zakończ program");
chooseMenuOption();
}
private void chooseMenuOption() {
Scanner scanner = new Scanner(System.in);
int choice = scanner.nextInt();
switch(choice) {
case 1:
System.out.println("Z ilu pytań ma składać się quiz?");
Quiz quiz = new Quiz();
quiz.prepareQuestionList();
break;
}
}
public class App {
public static void main(String[] args) {
Menu menu = new Menu();
menu.showMenu();
int chooseMenuOption = menu.chooseMenuOption();
if(chooseMenuOption==1) {
Quiz quiz = new Quiz();
quiz.prepareQuestionList();
}
}
}
public class Menu {
public void showMenu() {
System.out.println("1: Start quizu");
System.out.println("2: Zakończ program");
}
public int chooseMenuOption() {
Scanner scanner = new Scanner(System.in);
int choice = scanner.nextInt();
if (choice==1)
return 1;
}