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链接目前已断开):