免费资源:什么是认知维度
2010-09-10 12:55:10 来源:WEB开发网
什么是认知维度
认知维度(也称作符号认知维度,Cognitive Dimensions or Cognitive Dimensions of Notations,简称CD)是一套关于符号标记、用户界面和编程语言的设计原则。
认知维度提供一种轻量级的方法来帮助分析设计,它包含了14条不同的维度来指导设计。
API的可用性
API和一般的产品一样,也需要具有良好的可用性。但API的不同之处在于,它一旦被发布出去,修改升级都比较困难。如果你变更了API,很多使用你API开发出来的产品就会受到影响,甚至无法正常工作。
所以我们在发布一套API之前,一定做了很多工作:严谨的设计、严格的测试等等。但是很少有人关注API的可用性,也没有行之有效的方法来指导API的可用性设计。
在微软,认知维度这个工具被拿来用在了API的可用性设计上,并对其进行适当的修改,形成了新的12个维度。
我们先来看看认知维度中的一个维度:Abstraction Level
Abstraction Level
Abstraction Level在CD中的描述为Abstraction Gradient,其解释为:
What are the minimum and maximum levels of abstraction exposed by the notation? Can details be encapsulated?
用到API设计中,可以转化为如下解释:
What are the minimum and maximum levels of abstraction exposed by the API, and what are the minimum and maximum levels usable by a targeted developer.
这个维度可理解为API所暴露出来的抽象层次是什么样的。如果抽象层次高,开发者使用起来将会感觉非常简单、方便,但缺点是不够灵活,缺乏自定义性;如果抽象层次低,则系统具有较大的灵活性,但却牺牲了部分易用性,开发者学习起来的代价也比较大。
我们通过一个具体的使用场景来理解这个概念,下面的代码片段在地图上创建了两个按钮,点击这两个按钮可分别将地图进行放大一级和缩小一级的操作:
示例一
map.addControl(new BMap.StandardMapControl({type: BMAP_STD_MAP_CONTROL_ZOOM_ONLY}));
创建按钮实际上是向地图容器里添加了新的DOM元素,并指定了一些样式,最后再绑定两个click事件,并在事件监听函数中调用map的zoomIn和zoomOut方法。
赞助商链接