转换为Java模型-视图-控制器模式
我有一个“添加和显示”java程序,根据程序显示的每个屏幕(例如菜单、显示患者、添加患者等)组织成类 现在我需要将其转换为ym学校项目的MVC模式。虽然我在理论上理解MVC的功能,但我不知道如何将当前的7个类划分为4个类:主类、模型类、视图类和控制器类 我真的迷路了,因为我不知道该把什么放在哪里转换为Java模型-视图-控制器模式,java,user-interface,model-view-controller,Java,User Interface,Model View Controller,我有一个“添加和显示”java程序,根据程序显示的每个屏幕(例如菜单、显示患者、添加患者等)组织成类 现在我需要将其转换为ym学校项目的MVC模式。虽然我在理论上理解MVC的功能,但我不知道如何将当前的7个类划分为4个类:主类、模型类、视图类和控制器类 我真的迷路了,因为我不知道该把什么放在哪里 谢谢你的帮助 我实际上只从web应用程序的角度(SpringMVC/Struts)讨论过MVC 我们为网络应用程序提供的方式是: 模型:与应用程序的问题域有关的任何内容。也就是说,独立于用户界面 视图:
谢谢你的帮助 我实际上只从web应用程序的角度(SpringMVC/Struts)讨论过MVC 我们为网络应用程序提供的方式是: 模型:与应用程序的问题域有关的任何内容。也就是说,独立于用户界面 视图:JSP、html、Velocity模板、Jasper报告、任何“呈现”模型的内容 控制器:处理UI命令并向模型发送命令以更新或检索状态。这可能包括委托给其他人的“前端”控制器,如DispatcherServlet或ActionServlet 分离视图非常简单。对于JavaEEWebapps,这些可以是JSP。与此相反的是使用一个呈现html的servlet(JSP实际上也是一个servlet,但您明白了这一点)。对于Android应用程序,它们可能是您的XML视图布局 拥有视图后,可以创建一个控制器,它是“业务”类和视图本身之间的一个层。例如,它可以响应web请求或响应单击事件 然后,您只需将业务逻辑封装到控制器委托的类中(这样它就不会绑定到UI)
这里使用的另一种模式是“UIbean”的概念。在webapp世界中,这将是一个表单bean。这里,控制器通过javabean处理视图,javabean包含视图可以看到/更新的值。控制器验证此表单并将其转换为模型处理的请求。同样,这用于将UI与业务逻辑分离。模型-视图-控制器设计模式的主要优点之一是,与状态或策略模式一样,您可以交换具有相同接口的类以获得不同的行为。使用MVC,这通常会变成交换不同的模型、视图或控制器,同时保留其他两个组件 在您的程序中,看起来您应该有不同的视图,所有视图都实现了一个公共接口,用于每个“显示”。模型应处理患者列表等数据,控制器应根据从视图中获得的用户输入进行操作(即控制器应处理通常称为程序的“业务逻辑”)
因此,举一个例子,AddPatients显示可能会变成一个特定的视图和一些控制器逻辑,在模型中使用某种
addPatient()
方法。您并不孤单。大多数人都不知道该怎么做。试着“推高”每个类的常用元素——例如菜单、添加患者。等等。尝试创建精益模型、智能控制器和愚蠢的视图。(要知道,MVC只是一个理论上的理想,很少实际实现,而且经常试图实现它会导致一些严重扭曲的代码。如果有必要通过你的课程,就口头上支持该计划,但不要与之结婚。)OP,请考虑接受对你最有帮助的答案。