无需技术,做网站,你也牛!
所有新购主机 增送数据库
操作简洁 功能强大
专业团队 资深背景
微信搜索:cn163ns
主要功能是针对微信商家公众号提供与众不同的、有针对性的营销推广服务。通过微信平台,用户可以轻松管理自己的微信各类信息,对微信公众账号进行维护、开展智能机器人、在线发优惠劵、抽奖、刮奖、派发会员卡、打造微官网、开启微团购等多种活动,对微信营销实现有效监控,极大扩展潜在客户群和实现企业的运营目标。无使用时间和功能限制
万象互联网络资讯网提示:什么是认知维度 认知维度(也称作符号认知维度,Cognitive Dimensions or Cognitive Dimensions of Notations,简称CD)是一套关于符号标记、用户界面和编程语言的设计原则。 认知维度提供一种轻量级的方法来帮助分析设计,它包含了14条不同的维度来指导设计。 API的可用 |
什么是认知维度
认知维度(也称作符号认知维度,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方法。