Java-马士兵设计模式学习笔记-桥接模式

时间:2023-03-09 07:33:02
Java-马士兵设计模式学习笔记-桥接模式

一、概述

1.桥接模式的应用情况:(1)两个维度扩展(2)排列组合

二、代码

Java-马士兵设计模式学习笔记-桥接模式

1.Gift.java

 public class Gift {

     protected GiftImpl giftImpl;
}

2.GiftImpl.java

 public class GiftImpl {

 }

3.WarmGift.java

 public class WarmGift extends Gift {

     public WarmGift(GiftImpl giftImpl) {
//调用父类的giftImpl
this.giftImpl = giftImpl;
} @Override
public String toString() {
return this.getClass().getName()+"-----"+giftImpl.getClass().getName();
}
}

4.WildGift.java

 public class WildGift extends Gift {

     public WildGift(GiftImpl giftImpl) {
//调用父类的giftImpl
this.giftImpl = giftImpl;
} @Override
public String toString() {
return this.getClass().getName()+"-----"+giftImpl.getClass().getName();
}
}

5.Flower.java

 public class Flower  extends GiftImpl {

 }

6.Ring.java

 public class Ring extends GiftImpl {

 }

7.MM.java

 public class MM {

     private String name;

     public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} }

8.Boy.java

 public class Boy {

     private String name;

     public void pursue(MM mm){
Gift gift = new WildGift(new Flower());
give(gift, mm);
System.out.println(gift);
} public void give(Gift gift, MM mm) { }
}

9.Test.java

 public class Test {

     @org.junit.Test
public void test() {
Boy b = new Boy();
b.pursue(new MM());
} }

三、运行结果

Java-马士兵设计模式学习笔记-桥接模式