为什么几乎所有的GUI界面都采用事件驱动编程模型?

Posted feng9exe

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么几乎所有的GUI界面都采用事件驱动编程模型?相关的知识,希望对你有一定的参考价值。

为了解耦合,使显示与逻辑分离。

 

我觉得是因为一般GUI的用户输入频率比较低,如果每个部分不停做轮询去获取用户输入,浪费时间

又可能比较难处理。而事件处理则是由中央的系统把输入事件派送给需要的部分。

 

桌面上,最广为人知的消息循环恐怕就是Windows了,WinMain 方法都是一个死循环,不断的读取并处理Windows消息,大家都玩过你懂的。(派发给窗体)

 

个人理解是 UI 框架面临的核心问题是 UI 更新流畅度和对输入响应的速度。前者是 UI 更新的帧率和 每帧的 timing (尤其是 UI 动画)决定的, 后者是由从用户输入到完成 UI 更新的延迟决定的。这要求 UI 框架对应用的运行拥有最大限度的控制权,以准确的把握每个帧的渲染时机。


作者:安江泽
链接:https://www.zhihu.com/question/26805116/answer/146517742
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

以上是关于为什么几乎所有的GUI界面都采用事件驱动编程模型?的主要内容,如果未能解决你的问题,请参考以下文章

js的事件传播

GUI编程--01--AWT.简介

python35--EasyGui界面

java基础图形界面和IO系统

事件驱动模型实例详解(Java篇)

Java实验5 GUI编程