要想解决我们之前所述的所有问题,核心理念其实非常简单:Web 开发团队需要日积月累、稳步实施可重用策略。
可重用策略可以划分为三种资源库:模式、组件,以及交互设计的框架体系。这些资源库能让开发团队充分利用丰富的成品资源,从而提高工作的速度和效率。
我们发现,那些成功实施可重用策略的团队已经尝到了实实在在的甜头。首先,他们可以调用已经(按最基本水平)实现的成品集,快速地拼凑起有效的设计雏形,从而达到让设计尽快启航的目的。这些团队完成整个设计的时间似乎也更短,而且可以周全地涵盖一切有利于提升用户体验的细节和精妙之处。其次,尽管他们在无趣的支撑功能上并未花费太多时间,其设计成果却似乎具备更高的可用性,而且在所有功能中的表现都始终如一。最后,团队进行迭代设计①更为快捷,这让他们有机会在设计尚具可塑性的时候对它进行精细的调整。
在团队的可重用策略中,模式、组件和交互设计的框架体系三者扮演着不同的角色,但都举足轻重。在下一章,我们会更为详细地讨论每一种资源,不过首先请允许我在这里进行一个简要的介绍。
1.1.1 模式:预期行为的锦囊
设 计 模 式 是 重 用 拼 图 中 的 第 一 块 零 件, 它 的 灵 感 来自 于 Christopher Alexander②提出的建筑模式这一概念[见其 1977 年所著的 A Pattern Language: Towns, Building, Construction(《建筑模式语言:城镇、建筑、构造》)一书,牛津大学出版社]。Alexander 观察人们生活和工作的具体行为,然后创建出一系列关于楼房建筑如何支持这些行为的可重用描述。模式并不会使建筑师们落入一成不变的窠臼,相反地,它为他们提供资源以确保所有细节的正确性。
如今的设计模式也与之类似。比如,让我们假设一位正在订票的用户需要输入日期。有哪些支持输入日期的设计呢?一个带自动分析功能的文本框?分别表示年、月、日的三个数字下拉列表?可以直接点选日期的弹出式日历?
针对同一种行为,不同的选择体现出了不同的设计。当开发团队指定一种最适合他们(及其用户)的设计时,就能将其定义为一个模式。日后,当团队需要响应类似的行为时,就能以相似的方式进行响应,利用之前的工作成果来满足用户已经确立的需求。图 1-1 为一个模式文档。

图1-1 雅虎设计模式库③定义的一个模式