如何使用Java

时间:2019-07-10 09:09:45

标签: java user-interface architecture navigation command-line-interface

我一直困扰着一个问题。

我正在制作一个简单的教育性Java软件,但找不到用于在页面之间切换的导航系统的任何示例。 我的意思是,我正在做一个“核心”,公开API和不同的用户界面,包括命令行界面(cli),图形用户界面(gui),Web界面以及可能是android应用程序。 我的问题是关于CLI的,但可能也应该应用于GUI:如何从页面切换到另一个页面?

我试图使之成为枚举,例如,实现一个包含实例化视图功能的接口的枚举。这样,视图将返回要显示的视图的特定枚举。然后执行枚举以创建视图。但是,即使它具有可伸缩性,也确实看起来效率低下且复杂。

这是我要针对的目标的简单表示。

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 :(得分:0)

在较大的系统中,通常会有一个控制器层,通常负责将用户从一个视图路由到另一个视图。这是MVC中的C。这的实现取决于您使用的框架,许多框架指定了在视图之间进行路由的特定方法。其他的则更为即席,并允许视图层控制该导航。

您基本上是在枚举中的应用程序中构建此控制器层。