Core Frame Builder业务层数据结构和功能算法框架自动生成工具
Core Frame Builder 以下简称 cfb 。cfb 的任务是解决面向对象设计时的业务层数据结构和功能算法的框架自动生成,根据设计(手写草图、Microsoft Visio/Libre Draw 设计图或其他计算机辅助设计图),编写 javascript 脚本(或使用 Libre Draw 设计图生成 javascript 脚本),再调用 cfb 生成目标的解决方案源代码(vs2010 或以上、eclipse、qt creator),源代码包含了模块、类、属性、方法的声明和函数体框架,再进行具体函数的编码工作。
作为常用的功能分类,可生成 UI 代码、网络通讯代码、文件读写代码、数据库 SQL 代码和内存流处理代码,每一个类均包含了序列化和反序列化的内置代码,支持 json、xml 和 sv 格式,简化和规范了由业务设计到代码实现的转化过程,提升了应用开发的制造效率。
-
命名空间 namespace:每个类所属的命名空间,有别于模块名称。
-
模块 module:类的容器,每一个模块可包含多个类,每一个模块可生成多种项目代码。每一个 cfb 生成脚本都必须先创建一个模块。
-
类 class:属性和函数的容器,每一个类可包含多个属性和函数,类之间可以继承一次,声明多个接口,实际上 c++ 可以同时多个继承,c# 和 java 只能单个继承,但都可以多重继承,这里的 cfb 设计只允许继承一个。
-
属性 property:每个属性都被定义为共有,当类被定义为可序列化时,序列化和反序列化的代码将内置在类的函数代码中。
-
函数 function:也包括了过程(cfb定义没有返回值类型的函数为过程),每个函数的代码均返回整数,返回值则用参数引用的形式实现。函数之间可实现回路:普通函数、if函数、switch函数和while函数。回路函数不需要从脚本中定义,可根据回路本身的定义自动生成函数体。
-
参数 argument:参数是函数的输入值列表,对于c++参数都是指针类型,对于c#和java参数都是对象引用类型。
-
接口 interface:cfb定义接口为没有属性只有函数的类,继承了接口的类对应的函数体可自动生成,但接口本身不会生成函数体。
-
常量 constant:全局常量:int32, double和string字符串
-
枚举 enumeration:枚举类型
-
回路 diagram:把多个函数包含在同一个类,把类的属性作为信号量,每个函数的返回值也作为信号量,所有函数之间由一个触发器函数激活,每个函数和下一个函数之间可能是连续执行的下一步、if分支、条件分支或循环执行的关系,形成一个或多个回路,cfb定义这种类的函数为回路。回路的函数体可以是多个代码,if() {}代码、switch() case {}代码或while () {}代码。
-
函数体 function content:使用lambda表达式,存在于函数内部的子函数。
-
表达式 expression:使用表达式,可自动生成函数体内的局部变量或当前类的全局变量。
-
公式 formula:只包含返回表达式的函数。
-
序列化 serialize:为每个类的非静态非只读的属性,生成序列化和反序列化的实体函数,支持json,xml和sv格式。
-
函数解析器:对所有包含public函数的类(非接口),启用函数解析器时,可使用字符串处理函数_invoke_()根据参数和返回结果的序列化封装和解析进行传递。
-
函数代码重用:对每个cfb生成的类函数,包含在//function-begin :和//function-end内的//codes-begin和//codes-end之中的代码行在重新生成函数后可再次使用,继承了之前已经编码的工作成果。