容器,空间、运动,系统,变换,以及瞬间移动技术。
容器这个词取的好
容器这个词取的好啊,叫“容器”可能是在暗示人们建议人们用空间去思维系统。“注入”这个词也好,“注入”肯定也是在暗示空间维度。
图1
一个业务系统在结构上是上图这样的一个一层套一层的空间体,外层通过对内层指令集的组合运用来实现外层的业务,外层又像内层一样对更外层公开一个高一级的指令集,一直到达系统的最外层,最外层往往被人们称作展示层(与外部其它业务系统交互的界面层,外部其它系统包括人和非人,界面不一定指的是人机接口)。就像是跟自然万物差不多的样子,都是在空间上一层套一层,从最外层往里面注入。由空间维度考虑才能容易的理解容器和注入。
注入,估计就跟给人打针,给树打针差不多,用针管注入进去的。除了可执行文件外,那些dll,资源等都可以被认为是外部的事物。外部的事物被注入某个进程中,不只可以注入资源(空间)还可以注入程序。然后,被注入进去的程序在进程内又可以操控被注入进去的资源(空间)。甚至业务系统启动时的引导程序也是可以被注入进去而不是提前放在里面的,然后再由引导程序接管后续的程序,这里面有个问题比较绕,前人有一个形象的说法叫做“拉着自己的鞋带把自己提起来”说的就是这些问题。
图2
令人困惑的AB两点很令人困惑的是图上的A B两点。从图上看,A点和B点分别处在不同的系统空间内,如果A点和B点通信的话那么应该是必定会一层一层的穿越空间必定会通过左右那两个子系统的边界才能通信的啊。可是问题是它们竟然不通过那两个系统的边界就直接通信了。A和B相距十万八千里,令人费解的是虽然它们相距十万八千里,可是我们转动A点B点居然立即跟着转动,根本不经过时间和空间就立即跟着动了,这是怎么回事?有可能是这样的设计导致的,左边的系统和右边的系统共用了同一个数据库。A点和B点其实是同一点,虽然在上层看来它们一个是左边系统内的点一个是右边系统内的点,但是在数据库系统看来它们是同一个点。改变A点同时等于改变B点,当然等于立即改变B。这个世界估计就是这样设计的,本质是维度的问题。在上层的维度看来相距甚远的东西在下层看来可能相距非常近。分层导致空间上增加维度运动上减少维度或者反之,有增必然有减,世界保持是零蛋。
图3
这是不是场?这样一层套一层的套下去跟场多么像啊。左边的系统和右边的系统叠加起来又被看作更大的系统。跟物理上那一套是完全一样的,识别出这些模式后才能指数级提高思维系统的速度啊,对不对。
图4
我们有无数的业务系统,业务系统之间还可以相互通信,信息在里面绕来绕去绕一大圈,可是对于那个外部的用户来说却根本没动,对他来说请求是从何处进去的也是从同一处出来的,只是耗费了一点点时间(这一点时间等于绕的那一圈空间的变化)。箭头在里面绕了一大圈,对于箭头穿过的每一个系统来说箭头的路径分两段,一段是input,一段是output。权限引擎可以在箭头途径的任何一个层设置执行点执行安全策略。
图5
同层瞬间移动技术,由input口可以瞬间移动到output口。同层瞬间移动技术可能是这样:图上的箭头经过的路径其实是一个函数调用栈。其实是这样,上层过程调用子过程的时候其实不只是传入了input实参列表,父过程还告诉了子过程“子过程结束后应返回到的‘位置’(位置,空间位置)”。子过程随时可以往那个父过程指定的位置写入信息,写入信息就是返回了。这可能就是以前听说的CPS变换。整个世界被变换成了一维的。
图6
这是别人写的那40行CPS变换代码,可惜我看不懂这语法,要是能画成图就好了。
[该贴被luda于2015-07-27 18:50修改过]