Rocket - diplomacy - Node相关类

https://mp.weixin.qq.com/s/BvK3He3GWon8ywG8Jdmcsg

 
介绍Node相关的类。
 
 
1. BaseNode
 
BaseNode是所有节点类的基类。
 
2. InwardNode
 
内向节点(下游节点),其定义如下:
 
a. iBindings: 记录内向连接的信息。每一条内向连接的信息包括:对端节点(OutwardNode),绑定类型。
b. iStar:内向连接中星号的个数;
c. diParams:所有内向连接的DI参数;
d. uiParams:所有内向连接的UI参数;
 
 
3. OutwardNode
 
外向节点(上游节点),定义如下:
 
a. oBindings: 记录内向连接的信息。每一条内向连接的信息包括:对端节点(InwardNode),绑定类型。
b. oStar:内向连接中星号的个数;
c. doParams:所有内向连接的DO参数;
d. uoParams:所有内向连接的UO参数;
 
 
4. MixedNode
 
同时可以作为内向节点(InwardNode)和外向节点(OutwardNode)。
 
 
5. CustomNode
 
自定义节点。
 
MixedCustomNode定义如下:
 
CustomNode的定义如下:
 
 
6. AdapterNode
 
适配器节点。
 
Mixed和不带Mixed的定义如下:
 
7. IdentityNode
 
 
8. NexusNode
 
 
 
9. 带Mixed的类
 
可以看到带Mixed的类的定义,都是DI/DO类型分开的类。不带Mixed的类,都是DI和DO合并成为D的类。
 
也就是说带Mixed的类,是按照DUEB完整模型定义的类。而不带Mixed的类是按照DUEB化简模型定义的类。
 
 
10. SourceNode
 
上游节点:
 
作为上游节点使用,只有输出,没有输入:
a. mapParamsD:直接返回po;因为没有输入,参数p为空;
b. mapParamsU:返回空序列;因为没有输入,参数n=0;
 
 
11. SinkNode
 
 
作为下游节点使用,只有输入,没有输出:
a. mapParamsD:返回空序列,因为没有输出,参数n = 0;
b. mapParamsU:直接返回pi;因为没有输出,参数p为空;
 
 
12. 继承MixedNode
 
基本上所有的类都继承自MixedNode,却并不是所有节点都作为复合节点使用。应该是为了实现简单,因为MixedNode中基本上实现了所有参数传播的功能。
posted @ 2019-03-02 18:59  wjcdx  阅读(454)  评论(0)    收藏  举报