- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
拜语言的语法结构与JAVA、C#、Javascript的对比
应广大拜语言(By语言)用户的要求,团队尝试用更简洁的文字整理一些概念性的内容,以供读者,帮助用户更好的理解拜语言(By语言)的设计理念。工具已经可以实现日常开发所需。文案、视频和案例的不足之处,团队后续会继续努力,为大家提供更易懂的内容和更优质的工具。
一、拜语言的语法结构
拜语言(By语言)的语法结构是基于支持面向身份编程技术、数据化编程和配置化编程的特性而设计的。它旨在简化编程模型,提高开发效率,提供更广更深的阶梯,让更多的人包括泛实施人员参与到软件的设计中来。以下是拜语言(By语言)的一些核心语法结构特点解析:
1.????身份(identity):拜语言(By语言)中的身份是一种数据类型,其包括或支持面向对象的功能或特性,如:方法、属性、事件;也包括身份的特性:skill“技能”、component“构件”。在编程过程中,可以把身份当成对象来考量,只是身份不同于对象,具有更复合的内容。主要区别如下:
对象是经由?newobject()?来产生新实例;身份是由配置产生新实例。配置是把当前的身份的“依赖项”一一指定,明确地告诉该身份当前的“依赖项”对应类型“是谁、在哪里”。身份成员构件中的“依赖项”也一一明确“是谁,在哪里”。身份的“依赖项”一一指定之后,相应身份的新实例就完成了。接下来就可以参照传统的对象使用这个身份了。传统的面向对象编程采用明确编程,不存在“配置”的过程。
举例说明:
例一:开发了一个数据字典的管理界面,用到了一张的字典表“dic”身份。在新项目中开发学校的系统,有两个字典表:一个是学生表student,还有一个是老师表teacher。
学生表如下:
?老师表如下:
传统的开发方式是在这两张表之上构件一对一的ORM类型体系,然后在这些ORM上构建代码逻辑。这种开发方式对于代码的复用是影响很大的。因为只要用到了ORM,代码就没有多少复用性可言。
拜语言(By语言)的解决方案是:流程上与传统环节一致:先定义一个表级的“dic”字典身份,定义两个字段级构件“iID、iName”编号与名称,写出代码逻辑。写完之后,身份的特点和复用特性开始呈现。通过刚刚定义的这个身份进行两次新实例及个性化配置。第一次配置,把身份指向到student这张表,把第一个“iID”的编号构件指向到student表的ID字段上,把“iName”名称构件指向到student表的name字段上,再配置数据源即可(拜语言IDE可以一键自动生成)。第二次配置,把身份指向到teacher这张表,把第一个“iID”的编号构件指向到teacher表的ID字段上,把“iName”名称构件指向到teacher表的name字段上,再配置一下数据源即可(拜语言IDE可以一键自动生成)。直到项目中所有的数据表完成第N次配置。
不用ORM可否?可以,拜语言提供了双类型,通过双类型,可以实现比传统的ORM更强大功能,而且语法更简洁,也更好用。双类型是全局性,与传统SQL结合最紧密。如下图所示,这是By特有的数据类型之一。希望开发者会喜欢例二的双类型示例。
例二:
通过这种方式,拜语言(By语言)用一份逻辑解决一类问题。设计“身份”的初衷是为了实现面向对象所不能实现的代码的高度复用,从而使得开发者能够更好的解决类型性问题和复用性需求。
1.????数据化编程:拜语言(By语言)使用“库与表”的概念来描述数据类型,其中“库”用于组织不同类型的数据结构、数据表,可以是一类数据结构、数据表的结合,也可以是一系列数据结构、数据表的组合。“表”用于定义具体的数据项,是一份份的数据表,包含了表名称、表结构和数据等内容,可以按需直接修改。
2.????共性和个性:拜语言(By语言)在语法规范层面做了规范,在设计和功能层面实现了共性和个性的概念。共性是指软件系统通用的部分,个性是指软件系统个性化的部分。比对任意软件与软件之间的共性部分,占比1-99%不等,其余为差异化的个性部分。举个浅显的例子说明:UI有些类似,logo不同;登录模块大多相同;业务逻辑不同,但依然会有出库入库逻辑、有基本信息表等等。不同行业之间,逻辑内容不是100%可以复用的,但是,一些基础性的、结构性的,是可以复用的,比如要用到数据库的内容,是可以跨行业的。常用的数据结构,如主表身份、明细表身份,字典表身份、中间表身份等,这些是各个行业都要用到的内容,根据这些结构写的内容都可以在拜语言(By语言)实现跨行业、跨项目。所以,拜语言(By语言)通用性高的部分可以直接配置复用,不需要再重复做。
3.????效率:效率的本质是生产力。不同的业务逻辑和编程逻辑,实现不同的软件系统。开发者的价值是编程逻辑与业务逻辑的实现,也都知道共性部分其实是属于重复劳动。全
文档评论(0)