Java 如何在多个窗口/对话框中应用MVC

Java 如何在多个窗口/对话框中应用MVC,java,model-view-controller,design-patterns,netbeans,Java,Model View Controller,Design Patterns,Netbeans,我想用MVC开发一个应用程序。 应用程序将有多个窗口和对话框(>30个窗口/对话框)。 现在的问题是:如何在这样的应用程序中应用MVC MVC教程通常只有一个窗口、一个控制器和一个模型 我宁愿使用一个包含所有视图的视图包、一个包含所有控制器的控制器包和一个包含所有模型的模型包吗 或者我会为每个窗口/对话框使用一个包并实现许多小型MVC吗 最后一个问题是:MVC是用于多个窗口/对话框的正确方式,还是另一种模式是更好的解决方案? 这可能取决于应用程序和每个窗口/对话框所做的,但是如果有一个一般的事情

我想用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都无关紧要。我喜欢这个答案,因为在我看来,它支持一些非常重要的软件开发原则。