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

别说谁变了你拦得住时间么 提交于 2019-12-24 10:50:22

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

        在动词算子式代码生成器中,有若干遵循的基本设计准则,简述如下:

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

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

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

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

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

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

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!