我正在尝试阅读设计模式,目前正在通过Bridge Pattern。
它指出
将功能抽象与实现解耦,使两者可以独立变化
有人能给我解释一下这个例子是如何理解这个大胆的陈述的吗?
多谢了。
Bridge
将接口和实现拆分为多个部分。在您的示例中,您将获得2个不同的接口Shape
,Color
。它们将生成自己的类层次结构,因为它们是独立的,所以它们都可以变化。
您最终会得到可以在运行时组合的多个形状和多种颜色。这是使用组合
而不是继承
来实现的。Shape
的每个实例在创建时都需要一个Color
的实例,这就是您获得红色三角形或绿色五边形或Shape
和Color
的任何其他组合的方式。
层次结构没有紧密耦合,它们仅在接口级别进行通信。