Java 复杂GUI程序中的MVC模式
我想知道,我应该如何用MVC模式构建一个更大的程序? 在网络上,我通常只看到一个模型、控制器和视图 例如,如果我想做一个发声教练。 在vocable trainer中,我可以添加新的vocable并进行查询。 当然,我想做一个菜单,我可以在这两种模式之间切换。 现在我不知道该如何用MVC模式设计这个程序。 是否有人知道一个好的教程或可以解释给我。 也许有人知道一个小的干净的例子程序或其他东西。。。 主菜单也应该是一个模型吗 还有一个问题是MVC模式本身。 模型仅包含数据,视图仅定义gui的外观,控制器在模型中显示数据,并使用该知识设置视图的状态,例如添加组合框项。 对吗 如果有人想知道,我使用JavaJava 复杂GUI程序中的MVC模式,java,model-view-controller,Java,Model View Controller,我想知道,我应该如何用MVC模式构建一个更大的程序? 在网络上,我通常只看到一个模型、控制器和视图 例如,如果我想做一个发声教练。 在vocable trainer中,我可以添加新的vocable并进行查询。 当然,我想做一个菜单,我可以在这两种模式之间切换。 现在我不知道该如何用MVC模式设计这个程序。 是否有人知道一个好的教程或可以解释给我。 也许有人知道一个小的干净的例子程序或其他东西。。。 主菜单也应该是一个模型吗 还有一个问题是MVC模式本身。 模型仅包含数据,视图仅定义gui的外观,
我想你看到了,我真的很困惑。在GUI客户端应用程序中使用MVC与服务器上的Java Web应用程序非常不同。在Java Web应用程序中,请求首先点击控制器,然后点击模型,然后点击视图,将其返回给用户 在GUI客户端应用程序中,视图实际上拥有控制器。当事件发生时,这是请求的副本,因此它会命中控制器,然后命中模型和数据访问对象 虽然这是实现MVC的一种方法。也可能有其他解释和实现。GUI客户端应用程序的MVC定义没有服务器Web应用程序的MVC定义那么明确 通常创建一个“核心”项目,并将其与web项目分开 “核心项目”将包括: 业务对象,如实体和数据访问 “网络项目”将包括:
- 控制器:将请求从UI路由到核心逻辑
- 视图:侧重于以HTML格式显示数据
- 模型:将简单的核心业务对象转换为更简单的结构 设计用于支持特定视图
还有一个提示可以帮助您进行谷歌搜索,有很多框架。请确保,如果您正在学习教程(带有框架),那么您需要下载所有API/jar文件,以便能够启动并运行MVC。(您可能已经知道这一点,但我认为我应该与您分享,以防您不熟悉java及其框架) 我在创建小型和大型完整Java程序时都会应用此方法。如果您考虑如何做事,这种方法可以很容易地扩展,这可能是一个良好的开端: 违约
- java—只是启动东西的主要方法
-java-GUI的头,一些GUI 零件在此处制造,有些零件单独制造
-PanelFoo.java-gui的一部分
-PanelBar.java-gui的另一部分
[控制]包装(控制)
-Monitor.java-用于并发同步任务,主要是GUI包ActionListeners调用的方法
-SomeTask.java实现可运行-可能是下载线程
-SomeLogicHelper.java-一些更大的方法和一些逻辑
[Model]套装(模型),基本造型
-Vehicleish.java
-Carish.java
-Bicycleish.java
-Garageish.java
[GUI]通过其ActionListeners调用监视器中的方法连接到[Control]。 [GUI]为监视器提供了一个回调接口,用于调用[GUI]中未直接完成的更改 [Control]连接到[Model],它使用事物的模型使事情变得简单,它可以协调逻辑并从[Model]向对象“做事”