①
一个学生,可以选择多门课程来学习
一门课程,也可以被多个同学来选择
②
张三这个同学,可以选 语文和数学 . 李四这个同学可以选 语文 和 英语
语文这门课程,既可以被张三选择,也可以被李四选择~~
③ 引入第三张表作为关联表
④一个信号,可以 connect 到多个槽函数上
一个槽函数也可以被多个信号 connect.
connect 的作用,就相当于刚才的这个关联表一样!!!
⑤综上,Qt 引入信号槽机制,最本质的目的(初心)
就是为了能够让信号和槽之间按照“多对多”的方式来进行关联~~
其他的 GUI 框架往往也不具备这样的特性~~
实际上,随着程序开发这个事情,大家经验越来越多~~
其实在 GUI 开发的过程中,"多对多”这件事, 其实是个“伪需求
实际开发很少会用到
绝大部分情况,一对一就够用了
新出现的一些图形化开发框架, 很少有再继续支持这种多对多的了~~
信号槽在 Qt 当年,是一个很大的卖点~~