Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Design patterns 配置和模型视图_Design Patterns_Viewmodel - Fatal编程技术网

Design patterns 配置和模型视图

Design patterns 配置和模型视图,design-patterns,viewmodel,Design Patterns,Viewmodel,我正在编写的一个小应用程序上使用模型视图模式。场景如下:模型维护一个目录列表,从中可以提取所需的数据。该视图有一个配置或设置对话框,用户可以在其中修改此目录列表(该对话框有一个JList,除添加和删除按钮外,还显示该列表) 我需要社区的一些建议:视图需要向模型传达这些更改。我首先想到向模型中添加以下方法:addDirectory()和removeDirectory()。但是我试图限制视图可以用来与模型通信和操纵模型的方法(或通道)的数量。这方面有什么好的做法吗?谢谢。添加一个中间层,该层同时与模

我正在编写的一个小应用程序上使用模型视图模式。场景如下:模型维护一个目录列表,从中可以提取所需的数据。该视图有一个配置或设置对话框,用户可以在其中修改此目录列表(该对话框有一个JList,除添加和删除按钮外,还显示该列表)


我需要社区的一些建议:视图需要向模型传达这些更改。我首先想到向模型中添加以下方法:addDirectory()和removeDirectory()。但是我试图限制视图可以用来与模型通信和操纵模型的方法(或通道)的数量。这方面有什么好的做法吗?谢谢。

添加一个中间层,该层同时与模型和视图对话,通常称为控制器:)

然后,视图可以使用addButtonPressed()和removeButtonPressed()等方法调用控制器。然后,这些方法调用addDirectory()和removeDirectory(),而视图不知道这一点

由于您正在编写一个小型应用程序,添加额外的MVC内容可能会增加开销


编辑:在此设置中,视图仅引用控制器,而不引用模型。

添加一个中间层,它与模型和视图(通常称为控制器)对话:)

然后,视图可以使用addButtonPressed()和removeButtonPressed()等方法调用控制器。然后,这些方法调用addDirectory()和removeDirectory(),而视图不知道这一点

由于您正在编写一个小型应用程序,添加额外的MVC内容可能会增加开销

编辑:在此设置中,视图仅引用控制器,而不引用模型