JsAction

代码生成器技术乱弹十,动词与多维空间,动词变格理论简述

别说谁变了你拦得住时间么 提交于 2019-12-24 10:50:22
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 在动词算子式代码生成器中,有若干遵循的基本设计准则,简述如下: 动词算子化 动词变格理论 面向棱柱 超级语言驱动 技术栈中立 超泛型实现 一次编程,两处调试 内置代码模板,经过详细测试,代码模板不开放,通过版本更新和代码生成器分支来支持新功能。 现在我们详细分析一下其中的第二项:动词变格理论。 其理念如下,在代码生成的多维笛卡尔空间,存在着某个抽象的动词算子比如说是ListAll,它在多维空间的投影产生出比如DaoImpl,Dao,ServiceImpl,Service,Facade,JSAction和JSButton这7个动词算子的影子。在和某个域对象比如说是Student结合以后,会形成7个具体的ListAllStudents函数。 这种现象非常类似于英语中的时态变化或者说是动词变格,所以这种代码生成器的设计被称为动词变格理论。就比如所对英语动词Have来说,Has, Had和Haven是动词have的变格,上述我们对动词算子ListAll的分析发现,在和平之翼代码生成器中,动词算子一共有7个格。动词中,拥有7个格的形态的动词算子是全栈动词,而部分动词格缺失的动词算子是非全栈动词。 为什么这么设计,这是为了标准化和简化不同层级的函数的调用关系,并简化代码调用之网