我为什么要选择使用一个而不是另一个?在哪些情况下?
我主要关注桌面应用程序,个人而言,我发现简单易用的对话框更容易使用.
在MVC中,您仍然会使用"简单"对话框.除了它的所有业务逻辑之外,它将被移植到其他地方的另一个类.
http://en.wikipedia.org/wiki/Model-view-controller
您需要权衡MVC的投资是否值得 - 特别是如果您只使用一个简单的对话框.
我发现有关模型视图控制器/演示器模式的优缺点的最佳讨论之一是Martin Fowler编写的:http://martinfowler.com/eaaDev/uiArchs.html
简而言之,通过选择使用MVC变体,您可以提高视图的可测试性(对话框).另一方面,如果您不希望对话框变得非常复杂,那么在对话框类中保留所有逻辑可能会很好,但随着复杂性的增加,可测试代码的优势也会增加.
这真的是一个判断.
"谦逊"的对话本身已经是MVC.你有:
M,对话框消息的内容.
V,用户可以看到的窗口和小部件.
C,对话框的显示方式以及响应用户活动的方式.
您的GUI框架或包装器库可以无缝地为您提供MVC,而无需考虑它,但它仍然是MVC.