224°

代码生成器技术乱弹十二,步枪,T型车到代码生成器,模板法的工业魔术

    在《产生式编程》一书中,作者带我们重述历史,去探寻自动化的缘起。人类历史上第一种工业化产品,没错,是一种武器。19世纪,美国生产出人类历史上第一种真正工业化的产品,一种可以互换零件使用的步枪。这是一次技术革命,从此,制品有了型号,标准,公差,互换零件等等一系列手工制作阶段没有的崭新概念。一种互换零件的步枪的强大之处之一是你可以从两把烂步枪凑出一把好步枪。这是从来没有过的事情。这其实就是模板法第一次展现它的工业魔术。

    而后,福特的T型车是模板法的第二次魔法,第一次人类历史上出现了生产流水线的概念。在互换零件的步枪的装配时还没有生产流水线,也许是因为步枪比较轻,不需要太多力气就可以搬动。而汽车的生产,流水线的使用可以大幅度提高效率。

    代码生成器时代,其实,形形色色的代码生成器都是模板法的杰作,他们带来了工业化编程方式。动词算子是代码生成器也是基于模板法的。但是,动词算子式代码生成器的模板是切成原子化的Verb的。只有一个域对象结合了恰当的动词算子,它才能生成具体的代码。动词算子其实是一组函数级代码生成器,只需结合恰当的域对象,就可以生成具体的函数。而且,域对象也被层层切开,分成了Type,Field ,Var,Signature等等。这些东西在动词算子式代码生成器中统一称为化身变量。动词算子式代码生成器就是靠彻底分解和重新组合拥有了代码生成的魔力的。

   根据动词算子式代码生成器的设计哲学。从系统层面,只存在着域对象,名词和各种动词算子,模板法是具体的实现机制,是被屏蔽的。所以动词算子式代码生成器的模板是藏起来的,实现新功能,您就等着新版本和新分支吧。没有合适的话,您不妨自己分支一个。

    欢迎大家的看法和意见。

本文由【火箭船】发布于开源中国,原文链接:https://my.oschina.net/jerryshensjf/blog/2872509

全部评论: 0

    我有话说: