设计模式用于将主设备与从设备分离,并创建第三方,用于通用实现?

时间:2017-11-01 19:38:14

标签: design-patterns

什么是设计模式,它解耦主设备和从设备之间的关系,并插入中介用于通用?

示例:

  1. 一个颜色选择器;用户点击一个小颜色框,显示带有色轮的弹出按钮。
  2. 日期选择器:用户点击下拉菜单,系统会显示日历,允许他们选择日期
  3. 选择小部件:用户点击向下箭头,可以从列表中进行选择。
  4. enter image description here

    以上所有都有主从安排。用户与主人的交互触发了奴隶的行动。

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

    • master:生成通用事件
    • 中介:在主服务器和从服务器之间启用
    • slave:响应通用事件

    现在,我们可以使用此结构一般实现colorpicker,datepicker和选择小部件。

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

3 个答案:

答案 0 :(得分:1)

查看Mediator pattern

其目的并非专门用于促进“主从”"关系,但它确实指定了您描述的中介,以便进一步解耦两个(或更多)必须交互但没有相互具体引用的实体。

有趣的是,Mediator模式可以使用Observer pattern来实现。

答案 1 :(得分:1)

我的建议是工厂模式:

enter image description here

答案 2 :(得分:1)

这里的显着特征似乎既不是所谓的也不是奴隶,而是他们关系的事件驱动性质。因此,我认为Observer pattern是最合适的。