当实现随抽象而变化时,如何实现桥接模式



我正在浏览本页给出的示例。(调度程序和操作系统(,https://sourcemaking.com/design_patterns/bridge。

这让我想到,每个操作系统都会有一个独特的调度算法实现。例如,Windows 将具有抢占式调度程序和时间片调度程序的实现,Unix 将具有抢占式和时间切片等的实现。

因此,在调用调度程序时,我们还必须指定算法以及实现。这将需要实现这两种算法,并传递一个标志来决定调用哪种算法。

这实际上是桥接模式吗?或者只是适配器模式的一个特例。 如果是这样,给出的示例在实现细节方面是否真正正确。

是的,它遵循桥接模式并完全实现了桥接模式应该做的事情。

桥接模式背后的想法是将抽象与实现分开,以便两者可以独立变化。

根据该示例,如果将来引入新的调度程序或新平台,则更改非常小。

自适应模式使两个不相关的接口一起工作。

例如:我想对数字数组进行排序。

我们已经实现了接受列表作为输入的排序功能,但就我而言,元素采用数组的形式。

我们可以编写一个适配器,它将数组转换为列表以对元素进行排序,并以类似的方式将结果列表转换为数组。

最新更新