December 31, 2020
我们日常使用的网站、APP 的界面,可以由编程语言来进行描述和控制。
那么,一个建筑物,如果我们把它视为人和空间功能进行交互的界面,那么,似乎也可以由程序,或者一套规范的语言来描述。这给建筑设计带来了几方面突破的可能性:
下面具体说说我的想法。
高
、宽
两个属性,和一个附着在墙上并形成门洞
的行为。属性可以指定,但同样地,行为也应该可以。比如,人防门需要指定在特殊情况下不开门洞,或在门洞周边设置门框柱等加强措施。以上三点,Revit 做到了 1,勉强做到了2,但 3 就几乎没有了。实际上,Revit 的族实例之间的通信方式极其贫乏,而且很多时候根本无法获取或发送数据,导致了大量重复性工作。吐槽结束!
再说下声明式。与其相对的,是目前我们广泛应用的命令式。一个简单的例子:
命令式
去酒吧点一杯酒,指挥服务员:
- 从架子上取下一个玻璃杯;
- 把杯子放在酒桶前;
- 打开酒桶开关,直到酒杯满;
- 把杯子递给顾客;
这就是按照命令式点一杯酒的,需要告知服务员如何给顾客提供一杯酒。
声明式
告诉服务员,我要一杯酒即可。
显而易见,命令式的范式将所有的思考过程都放在了客人(设计师)这一端,而声明式则将这些工作都给了更专业的酒保(计算机)。