X-Meta引擎是使用Java编写了,很多优秀的Java开源类库都可以集成到XWorker里,以便能够更简单、方便和高效的使用它们,而方法就是把它们模型化。

模型化Java类库的要点

  • 关注类库中的实体
    通常模型化类库中的实体是最方面也是最有价值的,因此模型化一个类库时首先想到的是有哪些实体。
     
  • 模型化留给用户的接口实体
    模型化需要用户直接配置的实体,而无需实例化类库中私有的并不会被用户用到的实体。
     
  • 按照使用的便捷性重新组织实体
    模型化实体的时候不是简单的把Java类映射到事物模型,而是应该按照使用的便捷性重新组织一下。
     
  • 静态方法等可以用动作模型表示
    除了实体,方法和算法等也可以模型化,这个时候应该把它当做动作模型,不过这种情况目前用的还不是很多,因此Java是一个面向对象的编程,大多数方法是属于实体的。

示例:Eclipse的开源类库SWT的模型化

    把SWT模型化是相对比较容易的,基本上是每一个控件都可以转化为模型。

    在模型化一个控件时是把可以配置的控件属性当成模型的属性,比如Shell控件对应的Shell模型,转化成模型后有SWT本身的属性,也有额外定义的属性,比如屏幕居中的属性是额外定义的。

    最后控件模型也保持了SWT类的继承关系,通过继承可以把所有的SWT控件组合成一个整体。

    下面是SWT模型的使用的示例,XWorker的事物管理器就是使用SWT模型编写了,下面是一个编辑的截图。

Copyright ©  2007-2019 XWorker.org  版权所有  沪ICP备08000575号