【发布时间】:2011-03-13 09:36:35
【问题描述】:
我对 GUI 编程相当陌生,我正在尝试在 D 中编写一个绘图库,以与一些其他基于控制台的科学应用程序一起使用。我使用 DFL 作为我的 GUI 库。
假设我的绘图表单有一个名为showPlot() 的方法,它应该在屏幕上显示绘图。我希望能够让我的应用程序中的任何线程抛出一个绘图窗口并阻塞直到绘图关闭或继续工作,而showPlot() 的调用者不必知道任何其他线程在绘图方面正在做什么,或者过去创建了哪些情节并且可能仍在屏幕上。 (showPlot() 的内部当然可能有这方面的知识。)
我仍在试图了解 GUI 库通常如何在幕后工作。似乎您应该只有一个 GUI 线程和一个主窗体。除了特定于语言/库的设计模式之外,我希望能得到与语言/库无关的设计模式级别的答案。
编辑:要强调的是,这个应用程序除了在执行过程中在有趣的点抛出的情节之外没有任何 GUI。它基本上是一个控制台应用程序加上一些情节。因此,没有明确定义的“主”形式。
【问题讨论】:
标签: user-interface language-agnostic design-patterns d