这里的接口,更多的指的是对用户的接口。
接口的五个特性:
1、 简洁:指一个事务处理需要的动作时间及复杂度有较低的上限。
2、 表现力:接口可以出发广泛的行为。
3、 易用性:使用接口需要记多少东西?
4、 透明性:用户动作的效果,能够自然的给出中间结果,反馈,错误通知。程序的运行是透明的,用户知道运行的状态。
5、 脚本能力:可以容易的为其他程序使用,特别是自动化的能力。
这几个方面往往要根据实际的问题做出一些权衡,看保留那个。
CLI(命令行接口)和可视化接口两者对比:CLI在简洁性,表现力,脚本能力上较强;但是在易用性和透明性相对较差。这个可视化接口正好相反。
CLI在问题比较复杂,程序行为单一,过程化和重复性时能够很好的处理。比如,需要根据URL来保存网页,一个还好说,如果要保持100甚至更多,CLI的价值就体现出来 了。
“可视化接口在处理小数量简单行为的情况下,工作良好。但是当行为或者物体的数目增加时,直接操作便变成了机械重复的苦差。”