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,什么是一种设计模式,它将主设备和从设备之间的关系解耦,并插入一个中介以供一般使用 例如: 色彩采集器;用户单击一个小颜色框,将显示一个带有色轮的弹出按钮 日期选择器:用户单击下拉列表,出现日历,允许他们选择日期 选择小部件:用户单击一个小向下箭头,可以从列表中进行选择 所有这些都有一个主从式安排。用户与主设备的交互触发从设备的操作 如果我们推广这个组件,我们可以将两者解耦,并插入一个中介。也就是说,创建三个类: 主:生成一般事件 中介:在主服务器和从服务器之间启用 从属:响应一般事件 现在

什么是一种设计模式,它将主设备和从设备之间的关系解耦,并插入一个中介以供一般使用

例如:

  • 色彩采集器;用户单击一个小颜色框,将显示一个带有色轮的弹出按钮
  • 日期选择器:用户单击下拉列表,出现日历,允许他们选择日期
  • 选择小部件:用户单击一个小向下箭头,可以从列表中进行选择
  • 所有这些都有一个主从式安排。用户与主设备的交互触发从设备的操作

    如果我们推广这个组件,我们可以将两者解耦,并插入一个中介。也就是说,创建三个类:

    • 主:生成一般事件
    • 中介:在主服务器和从服务器之间启用
    • 从属:响应一般事件
    现在,我们可以使用这种结构实现一个颜色选择器、日期选择器和选择小部件

    这种设计模式叫什么?Thx,Keith:^)

    请查看

    它的目的不是专门促进“主从”关系,但它确实指定了您所描述的中介,以便进一步解耦两个(或多个)实体,这些实体必须相互交互,而彼此之间没有具体的引用


    有趣的是,中介模式可以使用实现

    我建议采用工厂模式:


    这里的显著特征似乎既不是所谓的主人也不是奴隶,而是他们关系的事件驱动性质。因此,我认为这是最恰当的