总的来说,莫代尔接口吮吸大石块。 在另一方面,我想不出更好的方式来处理文件打开...,或者打印...这,我想,是因为
- 他们偶尔的行为,不频繁和重大,和
- 它们在本质上原子; 你要么完成指定的所有打印选项,并用它穿过去,或者你取消了整场演出。
让我们放在一起一点点的风格导向。 建议任何使用情况,其中一个对话框是首选的呈现,以及为什么它是首选。 对话框可以是非模态? 如果是,你怎么标记事务边界,因为取消停止有一个明确的含义。 您是否使用应用按钮,例如?
总的来说,莫代尔接口吮吸大石块。 在另一方面,我想不出更好的方式来处理文件打开...,或者打印...这,我想,是因为
让我们放在一起一点点的风格导向。 建议任何使用情况,其中一个对话框是首选的呈现,以及为什么它是首选。 对话框可以是非模态? 如果是,你怎么标记事务边界,因为取消停止有一个明确的含义。 您是否使用应用按钮,例如?
IMO,模态接口应该只当你有对付任何对话正在做或询问之前,应用程序可以继续使用。 任何时候,如果你使用一个对话框,它应该是无模式。
在做非模态窗口,你可能想确保它们是唯一的:你真的不想要两个相同的工具箱(在例如图形程序)或两个相同的首选项(我看到了这一个产品),它可以是令人困惑的最好的。
在另一方面,我很欣赏当查找/替换对话框是无模式:我可以回到文档并取消最后一次更改,跳过其他地方等; 不失当前设置。
不知何故,模态对话框告诉用户“停止一切并完成你在做什么”,它有它的用途,如指出斯蒂芬Wrighton的答案 。
根据我的经验,也有应该永远是在UI模式非常少的东西。 其中的最好的例子,大概一到该网站的用户非常熟悉,就是Eclipse。 虽然它有一些模态对话框,和我在这里只说核心IDE的,他们主要分为三类:文件操作,偏好对话框和参数对话框。
偏好的对话框,而模态的传统,不必模式无论是。 所有你需要做的是看Mac OS的偏好模型,其中配置更改立即生效,与模态行为只有在情况下,改变可能是破坏性的正在进行的工作介绍。
总之,这就是我想说的是应该是什么模式的一个很好的总结。 例外情况设定应当由使用得到很好的对齐。
如何在用户登录窗口,你不能(或不应该)使用应用程序的其余部分,直到你登录,假设安全是必要的。
我觉得区别是,如果有任何东西,用户可能能够在应用程序执行时显示的对话框中,那么它不应该是有模式的。 这包括复制/粘贴操作。 就个人而言,我宁愿它,如果文件/打开和打印对话框但是也不模态。 我认为,模态对话框是弱电设计的标志,一个必要的邪恶快速获取代码出了门。