【发布时间】:2008-10-23 10:26:22
【问题描述】:
为什么我应该选择使用其中一种而不是另一种?在哪些情况下?
我主要专注于桌面应用程序,就我个人而言,我确实发现简陋的对话框更易于使用和自然。
【问题讨论】:
标签: unit-testing user-interface design-patterns
为什么我应该选择使用其中一种而不是另一种?在哪些情况下?
我主要专注于桌面应用程序,就我个人而言,我确实发现简陋的对话框更易于使用和自然。
【问题讨论】:
标签: unit-testing user-interface design-patterns
在 MVC 中,您仍然会使用“谦虚”的对话框。除了它的所有业务逻辑将被转移到其他地方的另一个类。
http://en.wikipedia.org/wiki/Model-view-controller
您需要权衡对 MVC 的投资是否值得 - 特别是如果您只使用一个简单的对话框。
【讨论】:
我发现关于模型视图控制器/演示者模式的优缺点的最佳讨论之一是由 Martin Fowler 撰写的:http://martinfowler.com/eaaDev/uiArchs.html
简而言之,通过选择使用 MVC 变体,您可以提高视图(对话框)的可测试性。另一方面,如果您不希望该对话框非常复杂,则将所有逻辑保留在您的对话框类中可能会很好,但是随着复杂性的增加,可测试代码的好处也会增加。
这确实是一个判断电话。
【讨论】:
“Humble”对话框本身已经是 MVC。你有:
您的 GUI 框架或包装库可以无缝地为您提供 MVC,而无需您考虑,但它仍然是 MVC。
【讨论】:
没有简单的答案。
你应该使用任何能让你的生活更轻松的东西。
如果对话真的很简单,并且您知道肯定会保持这种状态,那么请使用谦虚的对话。
如果您有更复杂的东西,例如同一数据的多个视图表示,或者您知道简单的对话框会随着时间的推移变得更加复杂,那么请务必使用 MVC。
您还可以查看 ant MVP 模式作为 MVC 的替代方案。
【讨论】: