什么是寻址
提到寻址,用户可能会觉得很陌生。但是提及到变量,大家应该比较熟悉。把“寻址”这层外衣去掉之后,其实寻址就是变量,只不过是一种带有“Phoenix特色”的变量而已。
更准确地说,寻址是Phoenix平台中跨模块访问数据变量的一种方式。这一思想与现实生活中使用地址类似,如通过地址“中国-上海市-奉贤区-沪杭公路1590号”就可以找到维宏公司。
在Phoenix平台,每个寻址都是一个变量,部分寻址是系统预先定义的,该寻址的名称无法修改。定义好的变量数据,在软件启动的情况下就可以通过寻址进行访问。
为进一步了解寻址的机理,可以了解Phoenix内部框架,示意图如下所示:
由上图可知,Phoenix平台是微内核的,具有以下特点:
- 各个模块以插件的方式与核心建立联系
- 模块与模块之间默认无法直接建立联系
因此,如果有一个模块想访问另外一个模块的数据变量,必须到内核指定的管理模块去间接访问,即为“寻址”的过程。
G容器
Phoenix内核中负责管理数据访问的模块叫做G容器。
G容器提供了大致这样两种服务:
注册管理
这个就好比一个产品的信息要录入到产品库,一个人的信息要到公安局录入到公民信息系统中去一样。如果一个模块要进入到Phoenix平台中使用,需要注册到G容器中。
访问
不同的模块可以通过G容器进行其他模块数据的读、写操作(前提是他们是可读或可写的)。
寻址的注册用户不一定常用,但是寻址的访问是开发中最常见的一种行为。我们下文中先做一个简要的介绍。
寻址的访问
假设G容器中有A和B两个对象,B有属性Name。在A中想访问B的Name属性,我们可以使用以下方式:
G.B.Name
虽然这种写法不常见,但确实是支持的。
Phoenix.G.B.Name
这种写法加上了Phoenix前缀,这个前缀没有实际意义,只是一种标识而已。
相关文档