Java中的MVC-静态控制器?

Java中的MVC-静态控制器?,java,model-view-controller,Java,Model View Controller,我有许多不同的组织,每个组织都是组织类的一个实例。它包含getter和setter作为实例变量,setter在适当的地方包含验证。它还有一些其他零碎的东西,例如覆盖toString()、equals()和hashCode() 我有organizationview扩展了JFrame,它接受一个组织并在GUI中显示它,还包括各种功能的侦听器 我理解这一切应该如何结合在一起并与组织控制器一起工作。我不清楚我需要多少(如果有的话)OrganizationController实例。是否每个组织一个,并将其

我有许多不同的组织,每个组织都是
组织
类的一个实例。它包含getter和setter作为实例变量,setter在适当的地方包含验证。它还有一些其他零碎的东西,例如覆盖
toString()、equals()
hashCode()

我有
organizationview扩展了JFrame
,它接受一个组织并在GUI中显示它,还包括各种功能的侦听器

我理解这一切应该如何结合在一起并与
组织控制器
一起工作。我不清楚我需要多少(如果有的话)OrganizationController实例。是否每个组织一个,并将其引用的组织存储为实例变量?因为将
organizationcontroller
声明为
static
并直接从
organizationview
调用其方法似乎更容易,从而给出
organizationview
类似的方法:

private boolean deleteButtonPressed(){
    return OrganisationController.deleteOrganisation(this.organisationDisplayed)
}
(也许还有其他一些业务逻辑,但这是顺便提一下)

顺便说一句,
OrganizationView
在每次需要特定显示时都会被调用,并传递给组织进行显示


我的问题是:如果每个
组织都有一个单独的
OrganizationController
实例更好,那么为什么?似乎不必要的对象数量只在一个实例变量中有所不同。或者静态控制器可以接受吗?

我不会让它成为静态的。使用单一控制器并将视图分隔到目录中。然后您可以相应地组织每个部分。您不希望从视图静态调用控制器。您希望每个登录的人都有自己的实例。只需将视图、模型等分离到单独的文件夹和目录中即可。我现在正在做一个项目,我在做这个。我在每个部分前面加了一个关键字,以便将其分开

我不会让它静止。使用单一控制器并将视图分隔到目录中。然后您可以相应地组织每个部分。您不希望从视图静态调用控制器。您希望每个登录的人都有自己的实例。只需将视图、模型等分离到单独的文件夹和目录中即可。我现在正在做一个项目,我在做这个。我在每个部分前面加了一个关键字,以便将其分开

您可以使用
Singleton
模式来确保只创建一个控制器&&并且以静态方式访问控制器

我建议您使用Singleton的enum实现,类似这样

public enum OrganisationController{
   INSTANCE;

    // you can have fields
    private final example;
    // and also methods
    public boolean deleteOrganisation(Organization org){
    // do whatever here
    }
}
您可以以静态的方式调用方法


您可以使用
Singleton
模式来确保只创建一个控制器&&并且以静态方式访问控制器

我建议您使用Singleton的enum实现,类似这样

public enum OrganisationController{
   INSTANCE;

    // you can have fields
    private final example;
    // and also methods
    public boolean deleteOrganisation(Organization org){
    // do whatever here
    }
}
您可以以静态的方式调用方法

“静态控制器?”-没有一个控制器,是的——一个实例。静态——不,远离任何会使代码不稳定的静态因素。“静态控制器?”-没有一个控制器,是的——一个实例。静态——不,远离静态——它会使代码不稳定。