Как сделать систему навигации между видами с помощью Java - PullRequest
0 голосов
/ 10 июля 2019

Я застрял с проблемой на долгое время.

Я делаю простое обучающее программное обеспечение на Java и не нашел ни одного примера системы навигации для переключения между страницами.Я имею в виду, что я делаю «ядро», представляющее API и различные пользовательские интерфейсы, включая интерфейс командной строки (cli), графический интерфейс пользователя (gui), веб-интерфейс и, возможно, приложение для Android.Моя проблема связана с интерфейсом командной строки, но, вероятно, его следует применить и к графическому интерфейсу: как бы вы переключились со страницы на другую?вид.Таким образом, представление возвращает конкретное перечисление представления для отображения.Затем выполняется enum для создания представления.Но на самом деле кажется неэффективным и сложным, даже если он масштабируемый.

Вот простое представление того, к чему я стремлюсь.

Launcher
-> System.out.println("welcome");
-> go to Authenticate

Authenticate
-> System.out.println("1: sign in, 2: login")
-> if(input == 1) go to SignIn
-> else go to LogIn

SignIn
-> System.out.println("enter username and password")
-> username = input
-> password = input
-> new User(username, password)
-> go to Authenticate

LogIn
-> print("enter username")
-> go to Etc...

Не следует ли централизовать навигацию, чтобы избежать памятипотеря, если вид вызывается другим?Разве «меню» не должно централизовать все вызовы представления, чтобы сделать код читабельным?

Возможно, это глупый вопрос, но я не нашел ответа, и мне бы очень хотелось ...

1 Ответ

0 голосов
/ 10 июля 2019

В более крупных системах обычно существует уровень контроллера, который обычно отвечает за маршрутизацию пользователя от одного представления к другому.Это C в MVC .Реализация этого зависит от используемой вами структуры, многие платформы определяют конкретную методологию для маршрутизации между представлениями.Другие являются более временными и позволяют слою вида управлять этой навигацией.

Вы в основном создаете этот слой контроллера в своем приложении в своем перечислении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...