好的策略必须一再求证、测试、发现瑕疵漏洞,另想途径或方法来弥补策略不足,有时甚至得全盘放弃,重新策划。对于架构而言,这个道理同样适用。不值得验证的架构,就不值得设计,对于架构的验证,通常采用原型技术。原型技术的思想是:尝试对关键问题进行技术验证、实验和评估,忽略其它非关键性问题。在原型验证的基础上,我们可以获得很多有价值的信息:
我们担心的风险是否真的存在。通过开发原型是否找到了风险的解决办法。通过原型验证结论,决策是否继续项目还是取消项目。如果是悬而未决,我们是否要继续开发原型去寻找问题解决方法。具体而言,根据开发原型的目标是模拟系统运行,还是验证一个具体的技术问题,可以将原型法分为两类:水平原型和垂直原型。如下图所示:
水平原型又称行为模型,在一定程度上实现用户交互层的界面布局和界面流转逻辑。之所以说“或多或少”,是因为有高保真和低保真原型之分。低保真原型往往就是在白板上或文档中画出界面的草图。
垂直原型又称结构原型,一个形象的隐喻是“垂直切片”,它往往是涉及不同的层,将为数不多的(甚至一个)功能真正地实现。
另一方面,有些原型用过之后是注定要被抛弃的,而有些原型我们则希望把它们保留下来作为正式开发的基础。于是,根据所开发的原型是否被抛弃,我们又可以将原型分为两类:抛弃原型和演进原型。