简体   繁体   English

我如何设计适当的Java Swing MVC设计-这个MVC设计示例正确吗?

[英]How can i design proper java swing mvc design - is this mvc design example right?

I designed controller class in mvc like below. 我在mvc中设计了控制器类,如下所示。

public class ControllerMr implements Observer {

ModelMr modelmr = new ModelMr();
PanelMr vpanelmr= new PanelMr();

public ControllerMr() {
    this.modelmr.registerObserver(this);
    this.vpanelmr.registerObserver(this);
}

when i instantiate controller class, i create model and view class. 当我实例化控制器类时,我会创建模型和视图类。 my view here is swing panel. 我的看法是摆板。 for example i add this panel to tab or frame in another view. 例如,我将此面板添加到其他视图的选项卡或框架中。

i connect my controller to model and view with the help of observer pattern. 我通过观察者模式将控制器连接到模型和视图。 You see in the constructor, i register my controller to the model and view. 您在构造函数中看到,我将控制器注册到模型并查看。 so there is indirect connection with observer pattern, and concurrency management will be more easy. 因此,与观察者模式之间存在间接联系,并发管理将更加容易。

is this design true , if it is wrong, should i set my view and model outer of controller class like below 这个设计是真的吗,如果错了,我应该在控制器类外部设置我的视图和模型,如下所示

ControllerMr controllermr= new ControllerMr();
controllermr.setview(vpanelmr);
controllermr.setmodel(modelmr);

and also there will be some modifications in controller class for the above design. 对于上述设计,控制器类也将进行一些修改。 for example i must change constructor of controller class 例如我必须更改控制器类的构造函数

Thank you very much for your effort. 非常感谢您的努力。

当您想将Controller,Model和View彼此分开,以便将来可以(或多或少)互换时,可以使用MVC,现在的操作方式意味着没有View或Model的情况下控制器,我建议您将它们彼此分开创建并传递引用,而同时仍保持MVC模式

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM