https://mp.weixin.qq.com/s/HgUpTCh0D94Uymj5qQk-ag

 
介绍NodeImp相关基础类的实现。
 
 
1. 类图
 
 
节点实现(NodeImp)的基础类主要有:
a. InwardNodeImp:内向节点实现;
b. OutwardNodeImp: 外向节点实现;
c. NodeImp:节点实现,同时混入了InwardNodeImp和OutwardNodeImp;
d. SimpleNodeImp:简单节点实现;
 
 
2. InwardNodeImp
 
内向节点实现,其定义如下:
 
a. edgeI: 把DI和UI参数转变为一个EI,即Edge的类型;
b. bundleI:把Edge(EI)转变为一个Bundle类型(BI);
c. monitor:目前没有使用;
d. render:定义如何渲染Edge(EI)的逻辑,比如确定颜色(colour);
e. mixI:从UI到UI,把node的信息加入到UI参数中;
 
 
3. OutwardNodeImp
 
外向节点实现,其定义如下:
a. edgeO:把DO和UO参数转变为一个EO,即Edge类型;
b. bundleO:把Edge(EO)转变为一个与下游节点连接的实际Bundle类型(BO);
c. mixO:从DO到DO,把node的信息加入到DO参数中;
d. getI:目前没有使用;
 
 
4. NodeImp
 
节点实现,其定义如下:
a. 同时混入InwardNodeImp和OutwardNodeImp,意味着既是内向节点实现,也是外向节点实现;
b. 把DI/DO, UI/UO, BI/BO统一为D,U,B类型;
c. EI/EO仍然是分开的;
 
 
5. SimpleNodeImp
 
简单节点实现,其定义如下:
 
相较于NodeImp,这里把EI/EO也统一为E。
 
并且提供了初步的实现:
a. 把edgeI/edgeO都通过调用edge()实现,因为EI/EO都是E;
b. 把bundleI/bundleO都通过bundle()实现,因为BI/BO都是B;
 
 
6. 实例:AXI4Imp
 
 
1) AXI4Imp继承自SimpleNodeImp,所以只有一组D/U/E/B参数,没有再进一步对其做I/O区分;即:
 
D: AXI4MasterPortParameters
U: AXI4SlavePortParameters
E: AXI4EdgeParameters
B: AXI4Bundle
 
2) edge()实现:根据D/U和参数p,生成一个Edge:
其中包含一个bundle成员变量;
 
3) bundle()实现:根据Edge的信息,返回一个AXIBundle:
 
4) 实现mixI()/mixO():把node加入到nodePath中;

最新文章

  1. 持续集成(Continuous integration)
  2. 【转】EntityFramework(EF)贪婪加载和延迟加载的选择和使用
  3. ACM Binary String Matching
  4. ABAP程序的效率(转)
  5. 青蛙的约会 - poj 1061(扩展欧几里得)
  6. iOS获取经纬度
  7. Js 中常用方法
  8. Android开发自学笔记(基于Android Studio1.3.1)—1.环境搭建(转)
  9. poi的合并单元格和冻结行列
  10. python安装第三方库的最简单方式
  11. toString 和new String()区别
  12. Android BLE蓝牙开发-读写数据 获取UUID
  13. 148. Sort List (java 给单链表排序)
  14. tomcat从manager部署war项目上传失败
  15. linux常用端口查询
  16. centos7防暴力破解五种方法
  17. Sql Server数据库自增长字段标识列的插入或更新修改操作办法
  18. RBAC 基于角色的访问控制
  19. ShipStation Now Uses AWS And Amazon Fulfillment To Automatically Ship From eBay, Sears And Other Marketplaces
  20. HTML和CSS的盒子模型(Box model)

热门文章

  1. 线段树 扫描线 L - Atlantis HDU - 1542 M - City Horizon POJ - 3277 N - Paint the Wall HDU - 1543
  2. 教你配置windows上的windbg,linux上的lldb,打入clr内部这一篇就够了
  3. 【Hadoop离线基础总结】MapReduce增强(下)
  4. SQL 选择列 IF表达式,Contains表达式的用法
  5. flink批处理从0到1学习
  6. dedecms织梦建站后怎么防止被黑,加强安全漏洞措施?
  7. Analysis分析器
  8. 读懂操作系统(x64)之堆栈帧(过程调用)
  9. mysql 审计server_audit 模块
  10. python3.x 基础一