2014-10-22 61 views
0

我設計瞭如下所示的mvc控制器類。我如何設計適當的java swing mvc設計 - 這個mvc設計例子是否正確?

public class ControllerMr implements Observer { 

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

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

當我實例化控制器類,我創建模型和視圖類。我的看法是擺動面板。例如我將此面板添加到另一個視圖中的選項卡或框架。

我連接我的控制器模型和觀察者模式的幫助下查看。您在構造函數中看到,我將我的控制器註冊到模型和視圖。因此與觀察者模式有間接聯繫,併發管理將更加容易。

是這樣的設計真的,如果是錯的,我應該設置控制器類的我的視圖和模型外像下面

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

,也將有上述設計在控制器類中的一些修改。例如我必須更改控制器類的構造函數

非常感謝您的努力。

回答

-1

當你想要將控制器,模型和視圖彼此分開以便在未來的階段(或多或少)可以互換時,使用MVC,現在這樣做的方式意味着不能有視圖或者沒有控制器的模型,我建議您創建它們全部相互分離並傳遞參考,同時仍然保留MVC模式

+0

實際上它們是分離的,但在第一個設計中,控制器直接連接到一個模型並查看,因此另一個View不直接使用此控制器,只有另一個視圖可以將此視圖用作面板。 – ttn 2014-10-23 05:29:13