【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>
对代码生成器而言,我们可以从集合论的基础上定义代码生成的代码生成置换群的空间和每个动词算子的含义。
对谋个具体的域对象(数据对象)而言,代码生成置换群是他的所有字段及某个字段的所有合法取值构成的笛卡尔空间,这个空间非常庞大,但对任何一个域对象而言,这都是一个有限的空间。
对数据库动词算子而言,有两个行集是重要的,一个是动词算子的输入行集,这一般是数据库里的纪录或者是记录的一部分,这些行集也一定是代码生成置换群的子集。
还有一个行集是动词算子的输出行集。这个行集可能是输入行集的子集,也可能会有所变化,但如果结果是正确的,这个行集也是代码生成置换群的子集。
动词算子分两类,一类不影响数据库里的行集,一类会影响。(我们把影响一条数据库种行的动词算子也算做影响行集的动词算子,应为我们可以把它视为只有一行的行集。)
所以这样一来,所有的动词算子就都变成了集合操作。
这是我对代码生成群论的初步构想,抛砖引玉,备忘,欢迎大家拍砖。
来源:oschina
链接:https://my.oschina.net/jerryshensjf/blog/3146504