欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-05-10 13:14:17
...
    在动词算子式代码生成器中,有若干遵循的基本设计准则,简述如下:

  • 动词算子化
  • 动词变格理论
  • 面向棱柱
  • 超级语言驱动
  • 技术栈中立
  • 超泛型实现
  • 一次编程,两处调试
  • 内置代码模板,经过详细测试,代码模板不开放,通过版本更新和代码生成器分支来支持新功能。

    现在我们详细分析一下其中的第二项:动词变格理论。

    其理念如下,在代码生成的多维笛卡尔空间,存在着某个抽象的动词算子比如说是ListAll,它在多维空间的投影产生出比如DaoImpl,Dao,ServiceImpl,Service,Facade,JSAction和JSButton这7个动词算子的影子。在和某个域对象比如说是Student结合以后,会形成7个具体的ListAllStudents函数。

    这种现象非常类似于英语中的时态变化或者说是动词变格,所以这种代码生成器的设计被称为动词变格理论。就比如所对英语动词Have来说,Has, Had和Haven是动词have的变格,上述我们对动词算子ListAll的分析发现,在和平之翼代码生成器中,动词算子一共有7个格。动词中,拥有7个格的形态的动词算子是全栈动词,而部分动词格缺失的动词算子是非全栈动词。

    为什么这么设计,这是为了标准化和简化不同层级的函数的调用关系,并简化代码调用之网。从而降低开发时的测试工作量和代码生成器的品质。

    您有何种看法?欢迎跟帖。