我正在寻找一种按照 rougelike 模式(从Eric S. Raymond的 The Art of Unix Programming借用的术语)组织界面的方法,它基本上类似于 vim、链接等。我选择带有 ncurses 和 cdk 的 C++ .
我已经看过 wicd-curses的来源(wicd 的rougelike 界面)。有一个处理击键和调用动作的主窗口对象。如果打开了一个新屏幕(例如,选项屏幕),则主窗口将击键委托给适当的 OptionsWindow 对象。视图部分与应用程序的控制器部分混合在一起。
我真的很想知道 rougelike 应用程序界面的正确设计。如何组织我的屏幕(窗口)?我应该在哪个组件中处理击键?所有窗口共有的东西(移动焦点等)呢?