“上下文敏感”右键菜单的设计模式

时间:2010-04-19 19:43:18

标签: menu design-patterns

我可以使用什么设计模式生成“上下文相关”的右键菜单?我想到了一个类似“Windows资源管理器”的应用程序,用户可以右键单击文件夹并获取菜单项列表,但右键单击驱动器并获得完全不同的列表。 我应该使用什么设计模式?工厂的设计模式是否适合处理这样的菜单? 问候, SEB

1 个答案:

答案 0 :(得分:4)

您可以查看visitor pattern以及builder-factory-pattern。在伪代码中,您可以执行以下操作:

OnRightClick(Item ClickedItem) {
    ContextMenu = MenuBuilder.Visit( ClickedItem );
    Choice = ContextMenu.Show();
}

MenuBuilder将根据其访问的项目构建适当的上下文方法。