Design patterns 价值观与适当设计模式的结合
您好, 我想问一下,在下面描述的场景中,哪种设计模式是最好的: 我有两个组合框: 选项1选项21 选项2选项22 选项3选项23 选项4选项24 这两个组合框应该有一个特定的组合-只有特定的值应该显示在第二个组合框中,这取决于在第一个组合框中选择的值。 例如:如果我选择选项1-只有选项21和选项22应该可见。Design patterns 价值观与适当设计模式的结合,design-patterns,Design Patterns,您好, 我想问一下,在下面描述的场景中,哪种设计模式是最好的: 我有两个组合框: 选项1选项21 选项2选项22 选项3选项23 选项4选项24 这两个组合框应该有一个特定的组合-只有特定的值应该显示在第二个组合框中,这取决于在第一个组合框中选择的值。 例如:如果我选择选项1-只有选项21和选项22应该可见。 我应该使用什么样的设计模式?我想补充一点,我不使用任何数据库。为什么所有东西都必须是“设计模式” 这还取决于您的语言提供了什么,例如,在Python中,您可以使用下拉列表的内部和显示值执行
我应该使用什么样的设计模式?我想补充一点,我不使用任何数据库。为什么所有东西都必须是“设计模式” 这还取决于您的语言提供了什么,例如,在Python中,您可以使用下拉列表的内部和显示值执行dict:
option_tree = {
("option1", "Option 1"): {
("option21", "Option 2/1"),
("option22", "Option 2/2"),
},
("option2", "Option 2"): {
("option21", "Option 2/1"),
("option23", "Option 2/3"),
("option24", "Option 2/4"),
...
如果您心中有一个特定的UI API,也许您可以提到……大多数API(web渲染框架,&c)都有一种规范的实现方式
编辑:对于.NET,在快速搜索后,同样的方法可能会起作用:
有一本字典(字符串->向量)
在Dictionary中,将第一个组合框的值作为键,并将第二个组合框中相应的值映射为值。然后可以使用以下方法设置第一个组合框的值:
combobox.AddRange(dictionary.Keys)
第二个组合框可用于
secondcombo.AddRange(dictionary.Item(combo.SelectedItem))
如果清除第二个数据源,并在第一个数据源中的每次更改上重新设置它--done.您可以将两个数据源创建为列表。第一个列表(在第一个组合框中使用)将包含具有关联属性的项。选择第一项时,可以使用规范筛选第二个列表。解决方案适合或描述模式,而不是相反。。。