Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Design patterns 价值观与适当设计模式的结合_Design Patterns - Fatal编程技术网

Design patterns 价值观与适当设计模式的结合

Design patterns 价值观与适当设计模式的结合,design-patterns,Design Patterns,您好, 我想问一下,在下面描述的场景中,哪种设计模式是最好的: 我有两个组合框: 选项1选项21 选项2选项22 选项3选项23 选项4选项24 这两个组合框应该有一个特定的组合-只有特定的值应该显示在第二个组合框中,这取决于在第一个组合框中选择的值。 例如:如果我选择选项1-只有选项21和选项22应该可见。 我应该使用什么样的设计模式?我想补充一点,我不使用任何数据库。为什么所有东西都必须是“设计模式” 这还取决于您的语言提供了什么,例如,在Python中,您可以使用下拉列表的内部和显示值执行

您好, 我想问一下,在下面描述的场景中,哪种设计模式是最好的: 我有两个组合框: 选项1选项21 选项2选项22 选项3选项23 选项4选项24

这两个组合框应该有一个特定的组合-只有特定的值应该显示在第二个组合框中,这取决于在第一个组合框中选择的值。 例如:如果我选择选项1-只有选项21和选项22应该可见。
我应该使用什么样的设计模式?我想补充一点,我不使用任何数据库。

为什么所有东西都必须是“设计模式”

这还取决于您的语言提供了什么,例如,在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.

您可以将两个数据源创建为列表。第一个列表(在第一个组合框中使用)将包含具有关联属性的项。选择第一项时,可以使用规范筛选第二个列表。

解决方案适合或描述模式,而不是相反。。。