在动词算子式代码生成器中,有若干遵循的基本设计准则,简述以下:编程
如今咱们详细分析一下其中的第二项:动词变格理论。函数
其理念以下,在代码生成的多维笛卡尔空间,存在着某个抽象的动词算子好比说是ListAll,它在多维空间的投影产生出好比DaoImpl,Dao,ServiceImpl,Service,Facade,JSAction和JSButton这7个动词算子的影子。在和某个域对象好比说是Student结合之后,会造成7个具体的ListAllStudents函数。测试
这种现象很是相似于英语中的时态变化或者说是动词变格,因此这种代码生成器的设计被称为动词变格理论。就好比所对英语动词Have来讲,Has, Had和Haven是动词have的变格,上述咱们对动词算子ListAll的分析发现,在和平之翼代码生成器中,动词算子一共有7个格。动词中,拥有7个格的形态的动词算子是全栈动词,而部分动词格缺失的动词算子是非全栈动词。设计
为何这么设计,这是为了标准化和简化不一样层级的函数的调用关系,并简化代码调用之网。从而下降开发时的测试工做量和提升代码生成器的品质。3d
您有何种见解?欢迎跟帖。调试