同步操作将从 UBML/ubml-standard 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
对象:程序运行时的真实数据,是模型层的实例,通过运行时赋值,实现”实例化“过程
模型:对象的Schema,是元模型层中概念的实例
元模型:模型的Schema,是元元模型层中概念的实例
元元模型:元模型的Schema,是UBML中最基本的元素,是UBML标准的架构基础
以BE元模型为例,对照MOF四层模型,对上述四个概念进行说明
① BusinessEntity的Schema
② BusinessEntity
③ SalesOrder.be && SalesOrder.java/SalesOrder.cs
④ SalesOrder.getFirstRow()
描述所有种类元模型的(如BusinessEntity)的公共语法定义是元元模型(对应代码模块为UBML-Standard-Common(Base + Core)): 元元模型将元模型的结构和能力打散,进行了细粒度解构和描述,形成了基本的语义化元素。以BE 这一“元模型”中“字段”这一结构为例,“元元模型”提供了描述“字段”这一结构的能力,如限定了可以使用哪些Element、Attribute去描述一个“字段”(Element和Attribute取自XSD中的 “节点”与“属性”的概念)
BusinessEntity是元模型(对应代码模块为UBML-Standard-Metamodel): 元模型使用元元模型提供“描述字段结构的能力”去描述了“字段”,即定义了什么是字段,比如“BE字段”派生自Property(Property是Common-Core 中一个基本的语义化元素节点,是一个Element),BE元模型中则实作了一个Property,BE还可以在Property基础上,增加一些自己BE 领域的扩展信息,比如“字段是否启用默认值、字段是否被引用、字段是否启用国际化”等,这些扩展信息,也是通过元元模型中的“Attribute”、“PrimitiveType”等基本语义元素描述的。
SalesOrder.be && SalesOrder.java/SalesOrder.cs是模型: 模型是元模型的实例,SalesOrder.be中的“字段列表”就是使用元模型BE提供的结构化的“字段”模板,在一个具体的“销售订单”业务场景中,实例化出了具体的字段列表,比如SalesOrder.be中包含“Id、Code、Description”这三个实际的字段。这个过程,就是对BE元模型中“字段”(实际是“字段列表”)这个结构进行实例化和赋值的过程。
注:模型、模型生成的代码之间关系: SalesOrder.be是销售订单的DSL描述,SalesOrder.java/cs是销售订单的Java/C#等高级编程语言描述,从DSL转化为Java/C#时,只是“销售订单”的描述形式上发生了变化,并没有发生SalesOrder.be的实例化过程(实际赋值),因此模型生成代码的过程,并没有从“模型”转化为真实的“对象”。
SalesOrder.getFirstRow()是对象:基于前述内容,“模型”定义了SalesOrder.be中的实体可以有多少个具体的字段,“对象”则可以这样理解:模型定义了SalesOrder 实体的类结构,对象是根据模型提供的类结构,对SalesOrder.Java/cs这个特定编程语言的实体类,进行实际的“类的实例化”的操作,即根据类“SalesOrder”,“New”出了SalesOrder 内存实例,SalesOrder.be中的Id、Code、Description等字段通过这个过程具有了实际的值。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。