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之中的代码行在重新生成函数后可再次使用,继承了之前已经编码的工作成果。
Java设计模式 —— 建造者模式(Builder) 定义 建造模式:将一个复杂对象的构建与他的表示相分离,使得同样的构建过程可以创建不同的表示。 特征: 方便用户创建复杂的对象(不需要知道实现过程) 代码复用性 & 封装性(将对象构建过程和细节进行封装 & 复用) 代码实现 如果一个类有很多属性,此时为此类写一个Builder内部类,来辅助建造该类。 class Phone { priv
一、CORE原理:在服务器响应报文头中通过access-control-allow-orgin告诉浏览器允许跨域访问的域名。 二、步骤: 1、在var app=builder.Build()前写入 builder.Services.AddCors(opt=>{ opt.Ad
Flex4 flash builder保留MXML转换的AS代码 项目->属性->Flex编译器 | 附加的编译参数 加上 -keep 生成的Test005-interface.as文件: package { import flash.accessibility.*; import flash.debugger.*; import flash.display.*; import flash.er
Entity Framework Core 断开模式下删除数据 EF Core API会为EntityState为Deleted的实体建立并执行数据库中的DELETE语句。在EF Core中已连接和已断开连接的场景中删除实体没有什么区别。 EF Core使得从上下文中删除实体变得容易,而上下文又将使用以下方法删除数据库中的记录。 DbContext 方法 DbSet 方法 描述 DbContext
PS:转载请注明出处 作者: TigerChain 地址: www.jianshu.com/p/300cbb9ee… 本文出自 TigerChain 简书 人人都会设计模式 教程简介 1、阅读对象 本篇教程适合新手阅读,老手直接略过 2、教程难度 初级,本人水平有限,文章内容难免会出现问题,如果有问题欢迎指出,谢谢 3、Demo 地址:github.com/githubchen0… 正文 一、什么
CustomExceptionMiddleware类代码 如下: using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Http.Internal; using Microsoft.Extensions.Logging; using Nestle.Portal.
1、先安装windows的IIS5.0以上 2、再安装asp.net framework 2.0 net frame1.1 http://download.microsoft.com/download/7/b/9/7b90644d-1af0-42b9-b76d-a2770319a568/dotnetfx.exe net frame2.0 http://file2.mydrivers.com/oth
Away3D是当前流行的Flash3D引擎,这里写一下它的FlashBuilder配置方法,供各位查阅参考。 首先安装FlashBuilder4.6,这个过程这里不再赘述。 这里是Away3D的官网http://away3d.com/,下载一个“away3d-core-fp11_4_0_9_gold.zip”的文件,解压缩到D盘目录下(其他目录也可以)。 打开FlashBuilder,新建“Act
问题内容: 是否有可用于Eclipse或Netbeans或任何其他IDE的插件,可以通过直接从数据库中读取模式来帮助我生成hbm.xml。 编写这些XML似乎是不必要的时间浪费,因此应该自动进行。 问题答案: 对于NetBeans,请参阅在Web应用程序中使用hibernate。 对于Eclipse,请使用Hibernate Tools 插件。这是一个演示如何使用其 逆向工程 功能的教程。
连通图:在无向图G中,若从顶点i到顶点j有路径,则称顶点i和顶点j是连通的。若图G中任意两个顶点都连通,则称G为连通图。 生成树:一个连通图的生成树是该连通图的一个极小连通子图,它含有全部顶点,但只有构成一个数的(n-1)条边。 最小生成树:对于一个带权连通无向图G中的不同生成树,各树的边上的 权值之和最小。构造最小生成树的准则有三条: 必须只使用该图中的边来构造最小生成树。 必须使用且仅使用(n
本文向大家介绍集合框架底层数据结构总结一下?相关面试题,主要包含被问及集合框架底层数据结构总结一下?时的应答技巧和注意事项,需要的朋友参考一下 Collection 1. List Arraylist: Object数组 Vector: Object数组 LinkedList: 双向链表(JDK1.6之前为循环链表,JDK1.7取消了循环) 2. Set HashSet(无序,唯一): 基于 Ha
数据结构是存储数据的编程方式,因此可以有效地使用数据。 几乎每个企业应用程序都以一种或另一种方式使用各种类型的数据结构。
ThinkPHP5.1 具备自动创建功能,可以用来自动生成需要的模块及目录结构和文件等。 快速生成模块 生成一个test模块的指令如下: >php think build --module test 表示自动生成test模块,自动生成的模块目录包含了config、controller、model和view目录以及common.php公共文件。 批量生成模块 如果需要批量生成多个模块的目录和文件,需
本文向大家介绍ASP.NET MVC5网站开发之业务逻辑层的架构和基本功能 (四),包括了ASP.NET MVC5网站开发之业务逻辑层的架构和基本功能 (四)的使用技巧和注意事项,需要的朋友参考一下 业务逻辑层在Ninesky.Core中实现,主要功能封装一些方法通过调用数据存储层,向界面层提供服务。 一、业务逻辑层的架构 Ninesky.Core包含三个命名空间Ninesky.Core、Nine
让我们讨论一下微服务环境的体系结构。我们正在公司内部进行讨论,我想得到一些反馈。我认真考虑的是编排层(代码复制、更多移动部件改变api)。 网络应用- 原料药- 在这种情况下,服务不允许相互对话。业务流程层中的聚合服务 网络应用- 原料药- 这里允许服务相互对话,这里存在聚合服务。 账单属于哪里
什么是php框架? php框架就是把php开发过程中通用而繁琐的部分抽象出来,约定出一些固定的套路来供你配置,这样协作开发的人也更容易相互理解。 所有php框架一般都包含以下内容:model、视图(view)、控制器(controller)、路由(router)、工具集、扩展组件。 model:就是数据库表的类表达,这个class对应着数据库表结构,比如数据库表里有一列叫做name,那么这个类就有