2010-04-19 131 views
3

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

回答

4

你可能要检查出visitor patternbuilder-factory-pattern。在伪代码,你可以做这样的事情:

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

MenuBuilder将构建基于它参观项目适当的上下文方法。

相关问题