Bridge 桥接

Bridge 桥接

双维度扩展

解析:

  • 分离抽象和具体
  • 用聚合方式(桥)连接抽象和具体
    Bridge 桥接 - 图1

例子:对礼物的扩展。可以从抽象的形容词和具体的礼物类型扩展。例如形容词可以是冷酷的礼物或者的温暖的礼物。礼物的类型可以是花或者是书。如果用继承的方式类的数量是M* N ,
所以我们可以用聚合的方式

  1. class Gift{
  2. GiftImpl gift;
  3. }
  4. class GiftImpl{
  5. }
  6. class WarmGift extent Gift{
  7. public WarmGift(Gift g){
  8. super.gift = g;
  9. }
  10. }
  11. class Flower extent GiftImpl{
  12. }
  13. public static void main(String[] args){
  14. Gift g = new WarmGift(new Flower());
  15. }