模型简介

1.模型也称为事物

    在X-Meta引擎中模型也被称为事物,所以在XWorker中其它地方事物这个词也代表的是模型。

2.模型的结构

    事物模型和结构和XML的结构是一样,是由属性和子节点构成的。

    如上图,一个模型是由属性、子模型(也称子事物或子节点)和行为(行为也是子节点)组成的。

  • 事物和节点
    在X-Meta引擎中,任何一个XML的节点都被解析称一个独立的事物(Thing)对象,因此任何一个节点都是一个事物。
     
  • 属性
    一个事物节点可以包含任意个属性,属性是由key和value组成的键值对。
     
  • 行为
    行为是可以执行的方法,一个事物的actions子节点下定义的事物被当作它的行为,如上图Person定义了whoAmI和sayHello两个行为,这两个行为是可以执行。                                                                                        

3.描述关系

    在2中的示例我们定义了一个name="Person"的事物模型,它可以描述下面这个模型。

    如上图,name="Zhangsan"的模型的descriptors属性的值对应的是Person这个模型,它指出了Person是Zhangsan的描述者,而描述者的含义是:

  • Person描述了Zhangsan的结构
    Person的是Zhangsan的描述者,意思是使用Person可以来解释Zhangsan,比如Person有<attribute name="name"/>和<attribute name="age"/>两个子事物,那么就可以说Zhangsan有name和age两个属性,Person有<thing name="Child"/>的子事物,它也说明了Zhangsan也可以有Child的子事物。
     
  • Person描述了Zhangsan的行为
    Person有whoAmI和sayHello两个行为,作为描述者它也描述了张三的行为,既Person的whoAmI和sayHello两个行为也是Zhangsan的行为。
     
  • 描述者既是类也是结构
    综上所述,描述者既是类的作用也起到结构的作用,只是在X-Meta引擎中描述者并不是严格的类或结构,所以起了个描述者这个名字。

4.继承关系

    如上图name="Child"子节点继承了根节点Person,那么Child也是一个Person,它拥有Person的属性、子节点以及行为。

    注:实际上X-Meta引擎只实现了行为的继承,而属性和子节点的继承的使用需要自行在代码中实现。

 

Copyright ©  2007-2014 XWorker.org  版权所有

沪ICP备08000575号