首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >关于平台的UI框架是否为您提供主循环的术语?

关于平台的UI框架是否为您提供主循环的术语?
EN

Stack Overflow用户
提问于 2020-04-09 13:54:59
回答 1查看 83关注 0票数 1

在我上大学的时候,我记得我的一本教科书里有专门的术语来区分这两种不同的API范式,但是,在我的生活中,我不记得它在哪本书里,谷歌也没有帮助。

  • API,如Win32、Xlib和SDL,它们位于调用堆栈的顶部,您必须编写自己的主循环,并负责使用GetMessageXNextEventSDL_PollEvent之类的构造将系统事件从队列中删除。 (这种设计需要更多的技能,但可以最大限度地控制编写游戏引擎或资源受限的应用程序,这些应用程序需要在Win16 32的Win16祖先设计的80286 CPU上运行。)
  • 类似于Qt、GTK、wxWidgets、Fltk、Swing、Tk等API,在这些API中,您可以执行一些初始化、挂接事件处理程序,并且框架通过生成后台线程或要求将控制权显式地转移到框架来为您提供事件循环。(例如,( QApplication.exec()gtk_main()IMPLEMENT_APP(wxAppSubclass)Fl::run()等)

有人知道我在努力记住哪两个词吗?

请记住,不是即时模式与保留模式。有可能有一个保留模式的应用程序,您仍然需要自己泵出事件循环,或者一个直接模式的应用程序,您可以在从平台提供的主循环发出的回调中进行绘图。

EN

回答 1

Stack Overflow用户

发布于 2020-04-19 11:23:37

您所描述的两种情况都在马丁·福勒关于InversionOfControl的博客中讨论过。虽然他可能没有想出这些术语,但他给出了一个很好的总结:

控制反转是使框架不同于库的关键部分。库本质上是一组可以称为的函数,现在通常组织成类。每个调用都做一些工作,并将控制返回给客户端。 一个框架包含了一些抽象的设计,并内置了更多的行为。为了使用它,您需要通过子类或插入您自己的类将您的行为插入到框架中的不同位置。框架的代码然后在这些点调用您的代码.

你要找的是图书馆和框架吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61122789

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档