使用GTK事件模型设计松散耦合的组件

时间:2010-02-20 13:55:46

标签: events haskell gtk gtk2hs

这是一个相当模糊和开放的问题,但希望有人仍能提供一些见解。

我正在使用GTK(通过Gtk2Hs与Haskell通过GHC),我想知道是否有任何处理事件的一般建议。我习惯于保持系统组件松散耦合(从OO实践),这延伸到事件模型。我想知道在Gtk或Haskell中是否有任何可用于处理/重新启动/传播事件等的设计模式,这样可以保持模块间/功能之间的依赖性低。

感谢。

1 个答案:

答案 0 :(得分:1)

GTK +事件由字符串标识(至少在核心GTK +库中)。根本就没有耦合。至少在使用C API时,完全可以例如编写试图发出事实上不受任何小部件支持的事件的程序。由于事件仅由字符串标识,因此编译器无法防止这种情况发生。