动态模型的特点

   下面介绍一下动态模型的主要特点。

1.动态性

    动态模型实际上是一个动态面向对象的技术,可以在运行时创建和修改对象(模型),所以系统也是动态的,可以随时修改系统中的各种事物。如下面的示例中掩饰了动态创建类和对象。

2.使用它可以编写更多新的编程方法

    在动态模型编程中标签(模型)是可以自定的,因此也可以定义更多用于编程的标签(模型),从而实现新的编程方法。

2.1.交互式编程

    交互式编程是XWorker使用模型创建的一个新的编程方法,交互式编程实质是一个函数式的编程方法,它认为一个函数的参数也是一个函数,所以要执行一个函数可以通过选择设置函数的参数来完成,所以是一个不断通过选择(交互)来完成编程的一种编程方法。

2.2.命令式编程

    命令式编程是一种通过选择命令和命令对应的内容的一种编程方法,将来可以发展为类似自然语言的编程,或发展为基于语音的编程。

命令式编程

3.可以编写各种类型的程序

    使用动型模型可以编写各种类型的程序,XWorker的动态模型引擎是使用Java实现的,实际上只要是能用Java编写的程序都能够用XWoker编写。

3.1.编写SWT窗口程序

3.2.编写WEB程序

3.3.编写游戏程序,如LIBGDX

4.动态模型的未来展望

4.1.实现了动态模型的系统是一个自我完善的系统

    在动态模型中标签和标签的语义都是动态和自定义的,所以实现了动态模型编程的系统里可以不断添加新的模型,也可以随时定义新的类模型,从而可以实现系统功能的无缝成长。

    如在下面的示例中我们创建了一个SWT窗口,然后把其中的主要功能加入到了系统菜单中。实际上XWorker中的每一个功能(模型)都是这样编辑出来的。

新功能演示

4.2.可分析的编程系统

    在动态模型中系统的功能即程序就是模型,而模型是数据,所以XWorker中的任何程序都是可分析的,所以将来XWorker会引入大数据和机器学习等来分析模型,也会开发人工智能程序来动态编写模型,从而实现系统的智能化。

    比如使用下面的代码就可以遍历到系统中的每一个事物:

World world = World.getInstance();
for(ThingManager thingManager : world.getThingManagers()){
	Iterator<Thing> iter = thingManager.iterator(null, true);
	while(iter.hasNext()){
		Thing thing = iter.next();
		System.out.println(thing);
	}
}

4.3.分享和系统之间的学习

    模型是数据,特别容易实现分享,XWorker做了一个名为码农的世界的网站来方便开发者分享模型,另外在未来我们也计划实现系统之间的模型分享,从而实现系统之间的功能学习等。

    比如下面是在码农的世界中从网上下载和运行一个分享的项目的示例:

分享

 

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