开源矿工0

咱们相信全部的系统都是从0开始的

咱们相信,全部的系统都是从0开始的。

所谓从0开始就是从虚无开始,软件系统必定也是从0开始的。0能够称做Void、Virtual什么的,Void已经被编程语言占用了,那么咱们用Virtual吧。git

咱们相信,全部的系统在空间结构上都是树形的,软件系统确定不例外。

树是一个奇妙的结构,只要你愿意你所掌握的一切知识都是树形,你未掌握的知识也是树形。不作多说,开源矿工系统在空间结构上和行为结构上都要有Root(根)概念。开源矿工有根,构建开源矿工的编程语言有根,开源矿工所生存的运行时环境也有根,下层的事物咱们不作追究,开源矿工做为生存在操做系统时空中的一个小小的应用系统来讲只感知本身所须要感知的环境便可。github

咱们相信,全部的词汇都应该按照望文生义理解

你望文生义出来的意思就是本真的意思,凡是不能望文生义的或者望文生义出的意思和联想不一致的语言文字载体都已经被前人丢弃或者早晚被后人丢弃。咱们不使用不能望文生义的词汇。编程

从源代码的VirtualRoot类型开始。望文生义,这是虚无,这是根。这是第一个出现的东西,它处在开源矿工的最底层,全部上层建筑都创建在它之上。它下面确定也有东西,但那是编程语言和运行环境的世界,咱们的世界从VirtualRoot开始。编程语言

VirtualRoot

VirtualRoot是个静态类型,它不是被咱们构建而生的,有世界的时候它就已经在那里了,它是从0开始的0,它是整个世界的根。VirtualRoot根上挂载的事物也全都是静态的在世界开始的时候就已经在那里的事物,直接挂载在VirtualRoot上的事物有:编码

  1. JsonSerializer 它是粉碎机,它是重建器,它安装在系统的出入口处,开源矿工内部的物体流出系统前会被它打碎成下层系统的物体,下层原子世界不须要咱们关注;外部系统的事物在进入咱们的系统后首先会被它重建成咱们的世界里事物的样子。咱们的系统只有一个入口和一个出口,这惟一的出入口就是VirtualRoot,是根。
  2. MessageDispatcher 推动器、动力源,或者其它什么名字,照此理解就能够了,开源矿工系统内部运动的动力之源就是它,至于它的动力又是来自CPU这种下层世界的事物又超出咱们的世界以外去了。
  3. CommandBus 命令电车,它由MessageDispatcher驱动,MessageDispatcher不是装在它里面的引擎,MessageDispatcher是电。它运载命令,命令是一种消息,消息是一种空间结构体。
  4. EventBus 事件电车,它由MessageDispatcher驱动,MessageDispatcher不是装在它里面的引擎,MessageDispatcher是电。它运载事件,事件是一种消息,消息是一种空间结构体。

Message

上面知道VirtualRoot上挂在的CommandBus和EventBus分别是运载命令和事件的,而命令和事件是两种不一样类型的消息。消息是什么?消息是消息的收发方所协定的承载信息的空间结构体,空间结构体是什么?就是一段树枝,树枝的枝杈相对位置和长短编码了能被收发方所理解的信息。spa

Command

事情发生前的消息。操作系统

Event

事情发生后的消息。事件

Path

路径,消息所运动的路径。get

开源矿工官网:https://ntminer.com/

相关文章
相关标签/搜索