Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
这是一个相当模糊和开放式的问题,但希望有人仍然可以提供一些见解。
我正在使用 GTK(通过 Gtk2Hs 和 Haskell 通过 GHC),我想知道是否有任何关于处理事件的一般建议。我习惯于保持系统组件松散耦合(来自 OO 实践),这延伸到事件模型。我想知道是否有任何设计模式可用于在 Gtk 或 Haskell 中处理/重新触发/传播事件等,从而保持模块间/函数间的低依赖性。
谢谢。
GTK+ 事件由字符串标识(至少在核心 GTK+ 库中)。根本不应该有耦合。至少在使用 C API 时,完全可以编写程序来尝试发出实际上不受任何小部件支持的事件。由于事件仅由字符串标识,因此编译器无助于防止这种情况发生。