应用场景:对象和行为的自由组合,不同的对象和不同的行为组合产生不同的具体对象,为了防止对这些具体对象的逐个枚举,将差异化的对象和行为独立出来。
包含要素:
Abstraction:抽象类
RefinedAbstraction:扩充抽象类
Implementor:实现类接口
ConcreteImplementor:具体实现类
使用demo:不同的形状(圆形,正方形,长方形等)可以图画不同的颜色(红色,黄色,绿色等),最终产生不同的对象(红色圆形,红色正方形等)。
抽象的形状,桥接形状和颜色
具体形状实现,并桥接形状和颜色的行为
颜色接口
具体颜色,并实现具体行为
客户端可任意组合形状和颜色










网友评论