有些时候,UI的一个设计准则就是将程序内部的设计结构暴露出来给用户,比如Mac系统上很流行的一个tap-to-run的程序,Quicksilver,一个基于键盘的程序启动软件,它的基本界面如下:

如上所见,左边是Quicksilver根据我让键入的字符在系统中寻找到的对象,右边就是针对这个对象所做的动作,用户可以使用默认动作或者是使用其他的动作。例如针对一个文本文件就有预览,打开等动作。
没有看过Quicksilver的代码,不过相信要我做一个这样的类似程序,我也一定会做这样的内部设计:
对象 — 动作
将对象和动作分别封装成两种最基础的类型,让他们之间有一定的属性可以互相交互从而形成关联。对于程序设计者来说,这个可能是最基础的想法。Quicksilver也忠实的将这个想法反应到UI上。程序设计师对于软件的理解肯定要比一般的使用者深入,如果我们能将一个好的设计暴露到UI上,往往可以给普通用户带来更好的体验。