Java 如何在多个窗口/对话框中应用MVC
我想用MVC开发一个应用程序。 应用程序将有多个窗口和对话框(>30个窗口/对话框)。 现在的问题是:如何在这样的应用程序中应用MVC MVC教程通常只有一个窗口、一个控制器和一个模型 我宁愿使用一个包含所有视图的视图包、一个包含所有控制器的控制器包和一个包含所有模型的模型包吗 或者我会为每个窗口/对话框使用一个包并实现许多小型MVC吗 最后一个问题是:MVC是用于多个窗口/对话框的正确方式,还是另一种模式是更好的解决方案? 这可能取决于应用程序和每个窗口/对话框所做的,但是如果有一个一般的事情要考虑,那么很好地知道:Java 如何在多个窗口/对话框中应用MVC,java,model-view-controller,design-patterns,netbeans,Java,Model View Controller,Design Patterns,Netbeans,我想用MVC开发一个应用程序。 应用程序将有多个窗口和对话框(>30个窗口/对话框)。 现在的问题是:如何在这样的应用程序中应用MVC MVC教程通常只有一个窗口、一个控制器和一个模型 我宁愿使用一个包含所有视图的视图包、一个包含所有控制器的控制器包和一个包含所有模型的模型包吗 或者我会为每个窗口/对话框使用一个包并实现许多小型MVC吗 最后一个问题是:MVC是用于多个窗口/对话框的正确方式,还是另一种模式是更好的解决方案? 这可能取决于应用程序和每个窗口/对话框所做的,但是如果有一个一般的事情
编辑:对不起,我忘了,我不认为这很重要。问题是关于Java/Swing的。但可能想在以后的某个时候转换到脑海中出现的任何东西。如果我使用Swing、SWT、GWT,这很重要吗?我更喜欢创建包,每个包都包含模型、视图、控制器等,因为它更清晰。在本例中,您可以看到您的应用程序是以模块化的形式创建的。如果您将创建应用程序并为控制器、视图等创建包,您将看不到应用程序的功能,并且很难进行维护。但这是我自己的观点 例如,我会这样做
com.car.door
controller.DoorController
entity.DoorEntity
view.DoorView
com.car.wheel
controller.WheelController
entity.WheelEntity
view.WheelView
com.car.driver
controller.DriverController
entity.DriverEntity
view.DriverView
com.car.road
controller.RoadController
entity.RoadEntity
view.RoadView
我认为这是错误的,因为你看不到你的应用程序在做什么,而且很难维护
com.car.controller
controller.DoorController
controller.WheelController
controller.DriverController
controller.RoadController
com.car.entity
entity.DoorEntity
entity.WheelEntity
entity.DriverEntity
entity.RoadEntity
com.car.view
view.DoorView
view.DriverView
view.WheelView
view.RoadView
问题是关于???GWT、Swing或SWT@mKorbel,关于设计模式。如果我使用Swing、SWT、GWT重要吗?可能不在Swing中创建一堆窗口、使用CardLayout和pack()@mKorbel不是很好的实践,即使我使用CardLayout也不重要,因为我不使用多个JFrame/JDialog,但是有几个JPanel。我计划使用JFrame/JDialog,但我将明确考虑使用CardLayout,因为它看起来非常好。但是,它没有回答这个问题,因为无论我使用多个JFrame还是多个JPanel都无关紧要。我喜欢这个答案,因为在我看来,它支持一些非常重要的软件开发原则。