代码生成器技术乱弹十八,用石块垒城堡,代码生成群论基本术语

戏子无情 提交于 2020-01-06 14:03:19

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

代码生成置换群,记作Sigma ,为任何可能的域对象取值空间之和。
字段的取值空间,记作Sigma(fieldName),为某个字段所有可能的取值空间之和。
域对象的取值空间,记作Sigma(domainName),若某域对象有N个字段,其取值空间为N维度,为其所有字段取值空间之积。
项目的取值空间,记作Sigma(projectName),为某项目所有域对象取值空间之积。

行集,记作data
代码生成置换群行集data(Sigma),
域对象行集data(Sigma(domainName)),为某域对象所有可能的行集。

数据库行集,记作database
域对象数据库行集database(domainName),为某域对象数据库里的行集。
项目的数据库行集database(projectName) ,为某项目的数据库里的行集

输入行集,记作input

域对象输入行集input(domainName)

输出行集,记作output

域对象输出行集output(domainName)

影响行集,记作update

域对象行集update(domainName)

动词算子,记作verb

域对象,记作domain

空集,记作Phi

落盘,记作Save

数据行,记作datarow

有效集合,符合某一系统的约束条件的行集,是Sigma的子集,记作validateddata

常量字段
domainid  域对象序号
domainname  域对象名字
activefield  域对象活跃字段

算子
diff算子
diffFieldName(dararow,datarow)比较值不同的两个数据行的字段名

null算子
NullFieldName(datarow) 某数据行中值为空的字段名

例子:
Clone定义
diffFieldName(datarow, clone(datarow)) = domainid

Add定义
NullFieldName(datarow) = domainid
diffFieldName(datarow, add(datarow)) = domainid

动词算子 记作 Verb

定域算子 FixDomainVerb

记作: verbName<domainName>

例: Add<User>

泛型算子Verb

记作:verbName或verbName(domainName)

例:Clone,Clone(Bonus)

半定域算子:NounVerb 亦称名词性动词算子

记作:verbName[nounName]

例:Register[User]

双域动词:DualDomainVerb

记作:verbName 或verbName(domainName1,domainName2)

例:ListMyActive(Role,Privilege)

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