代码生成器技术乱弹四十一,代码生成群是一个加法群(更新中)
由动词算子式代码生成器的工作空间组成的代码生成群,根据我的初步研究,是一个支持加法的群。
目前支持的算子共分为5类
第一类是显示算子,对生成群没有影响。有如下几个算子:LIstAll,ListActive,FindById,FindByName,SearchByName,SearchByFileds,SearchByFieldsByPage
第二类是加法算子(包括减法),有如下几个Add,AddAll,Clone,CloneAll,Delete,DeleteAll
第三类是Update算子,包括Update算子。
以典型的Updatesu算子而言,我已经知道他不是加法,也不是乘法,好像并非伽罗华域的算子。
有如下特征 a(update)b = b
b(update)a = a
显然,这个算子不满足交换律。
第四类是状态算子,包含Activate,ActivateAll,SoftDelete,SoftDeleteAll,Toggle
SoftDelete算子也很有意思,已知 (SoftDelete)(SoftDelete)a = (SoftDelete)a
而(Activate)(Activate)a = (Activate)a
有意思的是 (SoftDelete)(Activate)a = (SoftDelete)a
而(Activate)(SoftDelte)a = (Activate)a
而(Toggle)(Toggle)a = a
第五类是上下文相关算子,目前也只有一个,ToggleOne
第二类,第四类类,第五类算子大多为单目算子,只有Update是双目算子。
对其中的加法算子而言,其单位元为null