XWorker
首页
下载和安装

示例
编辑事物
面向事物及关联菜单演示
简单WEB示例
自定义WEB组件演示
自定义WEB框架演示
简单SWT示例
自定义SWT组件演示
事物的演化过程演示

 文档
面向事物
如何定义和编辑事物
      创建新事物
      编辑事物
事物构建的过程
集成XWorker到您的应用中
最佳实践
开发计划
API文档

 关于
协议
联系我们

 

eidt

 面向事物


    面向事物是一种统一处理各种事物的方法,也是一个世界观。

    面向事物认为开始世界是相对于无的(即使客观物质世界已经存在),一个世界的起点是事物有了名字,简单说就是老子的“无名天地之始,有名万物之母”直译。因任何东西都是事物,比如状态和行为,而面向事物研究的事物,所以在面向事物的层面上并不区分状态和行为,它认为状态和行为只是一种事物,没有本质上的差异。面向事物认为事物的意义是由事物之间的关系构成的,一个事物是什么可以由其自身或其他事物来描述解释,也就是说一个事物之所以被称为状态或行为,只是因为这个事物和其他事物之间存在这种关系而已。

面向事物的特征

  • 事物的同构性
    面向事物认为任何事物都具有相同的结构,任意事物都能够用树形结构的数据表示。
     
  • 事物的构造性
    面向事物认为任意一个事物都可以通过其自身或者其他事物构建出来。
     
  • 事物的描述性
    面向事物认为想要了解任意一个事物是什么,那么可以通过它的描述者获知。如果一个事物B是通过事物A构建出来的,那么我们就可以认为A是B的结构,也可以认为A是B的描述者。在面向事物里,一个事物的描述者可以是任意事物。
     
  • 事物的归一性
    面向事物认为任意一个事物都可以直接或者间接的通过一个自描述的事物构建出来。在面向事物里称这个自描述的事物为元事物
     
  • 事物即动作,动作的作用是影响事物
    此观点是数据即程序,程序的执行将会影响数据。在面向事物里任意一个事物都能够转化为动作(程序)。
     
  • 事物的继承性
    由于元事物是一个拥有无穷级深子节点的事物,为了能够使用有限的数据以便在计算机能够表示它,我们引入的继承概念,即一个事物可以继承另一个事物,从而拥有被继承事物的全部内容。面向事物认为一个事物可以继承任意其他事物(继承自身无意义)。

面向事物的编程

  • 事物的状态
    事物在计算机中是使用数据表示的,这些数据可以作为它的状态。
     
  • 事物的行为
    由于事物是树形结构,可以拥有子事物,而任意事物理论上都可以转化为动作(程序),所以可以人为的认为一个事物的某些特定子事物是它的行为。
     
  • 事物的描述
    如果A是B的描述者,那么A是B的结构,可以描述B的元素构成。由于描述者具有描述一个事物作用,也应该有描述事物行为的能力,所以我们把描述者A的行为也作为被描述事物B的行为。事物的描述者类似面向对象中类的作用,类是类的实例的结构,也定义了类的实例行为。
     
  • 事物的继承
    如果事物A继承事物B,那么A拥有B的所有内容,所以A也继承了B的状态和行为等。事物的继承具有面向对象中的继承作用。
     
  • 事物的构建
    面向事物中的事物是动态构建出来的,是在程序运行时构建出来的,并不是通过编码的方式预定义的。面向对象也有构建的过程,那就是类的实例化对象建立的时候,那也是在程序运行的过程中构建了。
     
  • 面向事物和面向对象
    上面已经和面向对象做了类比,在实际的面向事物编程中你会发现面向事物几乎有面向对象的所有特点,然而如同事物和对象这两个词一样,他们几乎相同但却是两个不同的事物。
    面向事物中的事物是动态创建的, 而不是预先定义好的。
    面向事物的编程方法即适合人也适合系统本身,通过面向事物的方法编程本身就是和系统交互的过程。(此方面有特殊的哲学意义)

面向事物的哲学

  • 面向事物也是一个世界观
    事物的集合构成了世界,所以面向事物也是一个世界观。
     
  • 面向事物和其他世界观的一些巧合
    1. 元事物是自身的父和子,元事物的作用是构建事物,任意事物在理论上都是直接或者间接的通过它构建出来的。
    2. 如果一个智能系统是基于面向事物的理论构建的,那么这个系统的心理世界中的任意事物都是通过其自身的事物构建出来的(元事物),所以可以说这个系统所认知的世界都是其虚幻的(通过自身构建出来的)。
    3. 元事物的本质是“有名”,元事物是其他事物的起始,故“有名万物之母”。
     
  • 关于元事物
    面向事物的根本是元事物,但元事物是什么?我发现没有一种现有的知识能够解释它,而反过它却能解释很多现有的知识。元事物到底是什么,最后也只能归结于三个假设:
    1. 假设一个世界是运动的,也就说这个世界要有变化、要有事件产生,一个没有运动没有变化的世界是我们无法观察的。
    2. 假设一个世界中的各种事物是可以区分的,就是要能够区分不同的事物。
    3. 假设以上的假设具有普遍性,即它们适合于任何一个事物。
     
    假设1要求世界是运动的,只有这样事物才会发生变化,才有可能构建事物的可能性。假设2是要求可以区分事物,简单说就是可以把一个事物分解成更小的事物,也可以把几个小的事物当作一个事物,这是事物具有树形结构的根源。假设3要求假设1和假设2具有普遍性,因为只有这样元事物才能成立。

    仔仔细细的思考过之后,发现元事物正是以上三个假设。然而想要完整的证明这一点我还无法做到,所以以上只是猜想和假设,有可能是错误的。

答疑

  • 为什么是面向事物?
    为什么这种看待事物的方法被称作面向事物呢?只是因为还没有找到更好的更合适的名称,虽然很像面向对象,但总觉得和面向对象有本质的不同,而且面向事物的方法是同时适合于人以及系统的,即作为开发人员可以以面向事物的方法看待事物,而系统本身也可以以这种方法看待事物,这样的话系统里的事物的观察主体就不是很重要了,所以可以称为面向事物的方法。(有无观察者主体是事物和对象的本质区别)
     
  • 为什么感觉不到元事物有一点意义?
    从一开始就没有人相信XWorker是有用的,到现在为止也没有一个人相信元事物有重大意义的。
    其实原因很简单,‘道可道非常道’,越是普遍存在的事物越容易忽略,元事物的作用主要体现在世界之初,也存在于现在的每一个事物之中,所以很难察觉到它的存在。(XWorker的程序也完全体现了以上观点,任何事物的基本描述都是元事物,元事物的作用主要体现在最初)
     
  • 为什么不区分客观世界和虚拟世界?
    面向事物的理论最适合于构建虚拟世界(精神世界),面向事物的理论应用于虚拟世界几乎很完美, 但应用于客观世界,那么会觉得漏洞百出,根本不适合。但随着研究的深入,我发现我已不能严格区分出客观世界和虚拟世界了,因为我们所说的客观世界并不能证明完全就是客观的,有可能它也只是一个更加客观世界的虚拟而已。
    所以这里并不区分客观世界和虚拟世界,至于是否能够应用于客观世界,有兴趣者可自行研究。

edit

 

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

沪ICP备08000575号