组件连接/绑定中“->”、“<-”与“=”的区别
来源:互联网 发布:java课程设计 编辑:程序博客网 时间:2024/06/05 04:45
在组件的链接绑定中经常可以看到“->”、“<-”和“=”。这三个符号可以将接口绑定到相应的接口和模块,现在的问题是:这三个符号有着怎样的区别和联系呢?
在介绍三者的区别和联系前,要先介绍下规范元素(程序中的模块和接口等)的外部性(external)和内部性(internal)。其实内部性和外部性是很好理解的:在组建规范(specification)中的规范元素成为外部性规范元素,而把在组件实现(implementation)中的规范元素称为内部性规范元素。举例说明:
module a{
provides interface b;
}
implementation{
components c;
b->c.b_;
}
其中在module中的语句引入的接口b即具有外部性,而在implementation中引入的组件c即具有内部性。
现在让我们来讨论“->”、“<-”和“=”这三个符号的区别:
“=”可以很广泛的绑定两个有效的规范元素,其绑定范围为:内部-外部、外部-外部。
“->”和“<-”是完全等效的,这两个符号的用法范围没有“=”宽泛,只能绑定 内部-内部。
对于接口与组件之间的连接和绑定,这里补充几点:
1、隐式绑定:对于s1=s2.a和s1=s2(其中s1为接口,s2为组件,a为组件中提供的接口),这两个不同的绑定形式,其最终效果是一致的(编译器会自动在s2中寻找和s1对应的接口)。但建议选用s1=s2.a形式(笔者遭遇过s1=s2不能编译通过,但s1=s2.a能顺利通过的情况)。
2、多“扇入”多“扇出”:对于下面的形式:
x=a1.x;
x=a2.x;
当接口x中的命令被调用时,多次绑定将会导致接口x中的事件多次触发(扇入),以及多个函数的执行(扇出)。
- 组件连接/绑定中“->”、“<-”与“=”的区别
- JS中onclick与addEventListener绑定事件的区别
- Oracle中连接与会话的区别
- Oracle中连接与会话的区别
- Oracle中连接与会话的区别
- Oracle中连接与会话的区别
- Linux中硬连接与符号连接的区别
- 数据库中等值连接与自然连接的区别
- sql中内连接与外连接的区别
- 数据库中等值连接与自然连接的区别
- Vue中子组件与父组件之间的双向绑定
- C#中组件与控件的主要区别是什么
- 组件中background与src属性的部分区别
- React学习笔记_React中元素与组件的区别
- 轻量级组件与重量级组件的区别
- 控件与组件的区别
- 控件与组件的区别
- Visual stuio 2005中服务器端组件与客户端组件的区别
- 1813. M进制数问题(M进制先转成10进制,操作完后再转M进制)
- 1935. 二叉树重建(根据先序遍历和中序遍历重建二叉树并进行广度优先遍历)
- 结构体数组在ARM2440经典用法
- 1940. Ordering Tasks(拓扑排序,用set装住入度为0的点)
- 软件需求分析
- 组件连接/绑定中“->”、“<-”与“=”的区别
- BlackBerry10 Cascades之DockLayout
- bbed破坏数据文件
- AJAX在ASP.NET中的应用(一)——原始的AJAX
- Robot(计算最短距离,用Dijkstra算法)
- unity3D C#脚本实现鼠标拖动物体
- C++(-)命名规则
- Robot(Dijkstra算法计算单点源,没优化)
- 计算无向图中连通块的数目