Когда я учился в университете, я помню, что в одном из моих учебников был указан c жаргон, различающий guish эти две разные парадигмы API, но, для жизни, я не могу вспомнить, какую книгу это был в, и Google не помог.
API, такие как Win32, Xlib и SDL, где вы находитесь на вершине стека вызовов и должны написать свой собственный основной l oop и взять на себя ответственность за вытаскивание системных событий из очереди, используя такую конструкцию, как GetMessage
, XNextEvent
или SDL_PollEvent
.
(дизайн, который требует больше навыков, но предоставляет максимальный контроль над написанием игровых движков или приложения с ограниченными ресурсами, которые должны запускаться на 80286 процессорах, для которых был создан предок Win16 Win32.)
API, такие как Qt, GTK, wxWidgets, Fltk, Swing, Tk, и др c. где вы выполняете некоторую инициализацию, подключаете обработчики событий, и платформа предоставляет вам событие l oop, либо порождая фоновый поток, либо требуя явной передачи управления в среду. (например, QApplication.exec()
, gtk_main()
, IMPLEMENT_APP(wxAppSubclass)
, Fl::run()
, и т. д. c.)
Кто-нибудь знает, какие два термина я пытаюсь запомнить?
Имейте в виду, что это не был немедленный режим против сохраненного режима . Возможно иметь приложение с сохраненным режимом, в котором вам все еще придется прокачивать событие l oop, или приложение с непосредственным режимом, в котором вы рисуете в обратном вызове, отправленном с предоставленной платформой главной l oop.