【问题标题】:How to make a navigation system between views with java如何使用java在视图之间制作导航系统
【发布时间】:2019-07-10 09:09:45
【问题描述】:

我被一个问题困扰了很久。

我正在制作一个简单的教育 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...

如果视图被另一个视图调用,是否应该集中导航以避免内存丢失? “菜单”不应该集中所有视图调用以使代码可读吗?

可能是一个愚蠢的问题,但我还没有找到答案,我真的很想要一个......

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

    • 您好!谢谢您的回答。我确实遵循 MVC 模型,但不应该是链接到 View 部分的导航系统,因为 Controller 只是一个将插入不同接口的 API?另外,您指的是一个框架:swing 和 javaFx 是什么?即使 Java 已经存在了很长一段时间,也不是我可以参考的已开发的命令行“框架”或指南?感谢您的宝贵时间!
    • 我从未见过 CLI 框架,这种东西可能存在,但我从未在野外见过。 stackoverflow.com/questions/1904115/mvc-on-the-command-line 谈论您正在讨论的一些问题。您可以将视图名称与输出到 CLI 的字符串分离,这当然是可能的,但会很复杂,但是拥有 CLI 输出“渲染器”将完成您正在尝试的事情(抽象来自控制器的 CLI)。这很可能是大材小用,而且只是一种学术练习。
    • 抱歉耽搁了。那么您(个人)将如何处理 CLI 显示?通过从一个视图调用到另一个视图的静态方法?一个包含所有界面内容的独特类?这是我正在做的一项练习,以展示我的能力,因此我正在尝试做一些尽可能干净或至少尽可能专业(标准)的事情。这是否也意味着 API 不适合 MVC 模型?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多