Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/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
Unit testing 谦虚的对话vs MVC_Unit Testing_User Interface_Design Patterns - Fatal编程技术网

Unit testing 谦虚的对话vs MVC

Unit testing 谦虚的对话vs MVC,unit-testing,user-interface,design-patterns,Unit Testing,User Interface,Design Patterns,为什么我应该选择其中一种而不是另一种?在哪些情况下 我主要关注桌面应用程序,就我个人而言,我发现谦逊的对话框更容易使用和自然。在MVC中,您仍然会使用“谦逊”对话框。除此之外,它的所有业务逻辑都将转移到其他地方的另一个类 您需要权衡在MVC上的投资是否值得—特别是如果您只使用一个简单的对话框。关于模型视图控制器/演示器模式的优缺点,我发现最好的讨论之一是由Martin Fowler撰写的: 简而言之,通过选择使用MVC变体,您增加了视图(对话框)的可测试性。另一方面,如果您不希望对话框非常复杂

为什么我应该选择其中一种而不是另一种?在哪些情况下


我主要关注桌面应用程序,就我个人而言,我发现谦逊的对话框更容易使用和自然。

在MVC中,您仍然会使用“谦逊”对话框。除此之外,它的所有业务逻辑都将转移到其他地方的另一个类


您需要权衡在MVC上的投资是否值得—特别是如果您只使用一个简单的对话框。

关于模型视图控制器/演示器模式的优缺点,我发现最好的讨论之一是由Martin Fowler撰写的:

简而言之,通过选择使用MVC变体,您增加了视图(对话框)的可测试性。另一方面,如果您不希望对话框非常复杂,那么将所有逻辑保留在dialog类中是可以的,但是随着复杂性的增加,可测试代码的好处也会增加


这真的是一个判断问题。

没有简单的答案

你应该使用任何能让你的生活更轻松的东西

若对话真的很简单,而且你们肯定它会保持这种状态,那个么就使用谦逊的对话吧

如果您有更复杂的内容,例如相同数据的多视图表示,或者您知道简单对话框随着时间的推移会变得更复杂,那么,无论如何,请使用MVC

您还可以将ant MVP模式作为MVC的替代品。

谦逊的对话框本身已经是MVC了。你有:

  • M、 对话框消息的内容
  • 五、 用户可以看到的窗口和小部件
  • C、 对话框的显示方式及其对用户活动的响应方式

您的GUI框架或包装器库可以无缝地为您提供MVC,而无需考虑,但它仍然是MVC。

您误解了他所说的“谦逊对话”的含义。这是另一种轻量级视图模式:Martin Fowler对该想法的处理(因为objectmentor链接目前已断开):