3
我可以用于生成“上下文相关”右键单击菜单的设计模式是什么?我记得一个“Windows资源管理器”式应用程序,用户可以右键单击文件夹并获取菜单项目列表,但右键单击驱动器并获得完全不同的列表。 我应该使用哪种设计模式?工厂设计模式适合处理这样的菜单吗? 问候, 勒布“上下文相关”右键单击菜单的设计模式
我可以用于生成“上下文相关”右键单击菜单的设计模式是什么?我记得一个“Windows资源管理器”式应用程序,用户可以右键单击文件夹并获取菜单项目列表,但右键单击驱动器并获得完全不同的列表。 我应该使用哪种设计模式?工厂设计模式适合处理这样的菜单吗? 问候, 勒布“上下文相关”右键单击菜单的设计模式
你可能要检查出visitor pattern和builder-和factory-pattern。在伪代码,你可以做这样的事情:
OnRightClick(Item ClickedItem) {
ContextMenu = MenuBuilder.Visit(ClickedItem);
Choice = ContextMenu.Show();
}
的MenuBuilder
将构建基于它参观项目适当的上下文方法。