-----------反射空间编程-------------
1.space(已创建的空间){
1.描述{(描述应当是子集的一部分)
//用于解析命令以及返回结果
描述是多种多样的,它是一个(键-集合)关系的集合,比如{名字-{名称1,别名1}} {语言-{En1,zh1……};动作-{手势1,手势2}}
}
2.属性{
//当多个space具有全部或者部分共有的属性,他们将诞生一个父集(这两个space将自动加入此父集的子集),同时相同部分内容将
被所指向的父集space替代,激活时属性中相关的space引用将被激活并载入活动空间。
//有两种映射属性:作为资源(解析的space-本资源),作为功能(本属性功能-?本space的子集资源)
}
3.子集{
//此space所扩展的子集(每一个子集同时又是一个space)
}
4.反射集{
//反射是对此空间所处环境的一种描述,同时也是一种主动行为。
//一种默认的反射行为是:在此空间激活时将会记录当前已激活space,并且主动激活反射集中未激活的space
//疲惫反射:当前已激活的space将会逐渐变为未激活状态,因此,每次主动激活都会被动激活反射集一次(或者刷新激活状态)。
//如果长期没有刷新激活状态,将自动关闭所有space,最终导致休眠。
{有二大类反射:前置反射(作为此space激活的条件,--已激活刷新其状态,未激活将会被激活--),逻辑反射(此反射由某个功能性的space属性解析)}
}
//优化反射集合:应当也必须有一个或者多个space对反射集进行优化管理
//反射训练:根据具有反射集管理功能的space进行选择性训练。
5.状态(1就绪,2激活,3被激活(不触发该space的反射集),4活动,5疲惫,6休眠,7守护)
<!-- 被激活应当有更长的活动期,space的状态应当由一个space进行统筹管理 -->
<---上述所有的项本质都是属性的一部分?也就是说所有新创建的space都应当是描述,子集,反射集,状态等基本属性的space的扩展--->
}
2.space的概念:
space是一个被命名状态空间,它可以描述任何事物,同时也存在自身的状态,
它包含一个实时更新的子集,这个子集是它的拓展,当这个空间被激
活(通常是外界访问)时,它将产生反射行为,反射行为根据其自身决
定。反射行为可能会激活任意的space;其自身的属性可能被它的superspace解
析(这通常取决于属性所映射的space,如果其映射的space不是它的superspace,
那么,他将被加入superspace的扩展子集)。
3.初始的space:
初始space是描述其自身的space,默认反射行为是检查自身状态(属性),
其初始子集是构成自身组件的集合,描述是自身的名字;
4.superspace的创建:
当两个或以上space的属性被确认相同的时候,不可避免地诞生了一个superspace,
superspace的属性是此共同属性;同时,部分属性被确认与一个已知space中一项属性完全相同的时候,
此space将成为这个superspace的子集成员;
5.例子:
我要使用word文档打打印一个word的文件space;
1.此文件space激活时,对应的解码space(中间关联调用的space)已激活(通常反射激活);
解码space将通过反射行为扫描其space下的子集,并将已激活的文档space解码;解读后的数据
将在print的队列中(或者有一个时间事件队列);激活打印机扫描一次,打印最新数据;
结论:space中,反射是一种主动行为,它会将所有的相关的space联合激活,具有某些特定反射功能的space将会发生特定的动作。
如同打印机一样,如果有一个space联合启动了打印机,那么,在打印队列中的文件将被打印。同时需要注意的是如果扫描行为不关闭
已扫描的space,那么,对应的space将会被无限制地扫描到;可能会产生无限循环的打印行为;最好的做法可能是仅仅扫描一次,
如果需要,再设置全局扫描和循环扫描。
6.顶层扫描:
当进行space搜索的时候,优先搜索子集较少的属性。如果此属性是本次搜索中与目标最切合的属性;
将会根据此属性深入搜索目标
7.等值比较:
如果两个space属性描述中均有一项是直接指向一个space,即可证明其相等;
8.守护反射:
守护状态的space处于激活状态,但是其属性不能作为任何资源使用。
9.如何创建space:
使用一个元space来创建space,当此space属性被激活,将创建一个空的space
10.如何管理space:
使用一个元space来管理space,此space可以操作其他任意已创建的space
----------------所有反射空间都应当遵循space规则慎用反射机制------------------------------
<!-- 这是一个新的设计模式,有兴趣的邮我:1258488823@qq.com -->