(7)设计模式:bridge

来源:互联网 发布:黑米软件怎么样 编辑:程序博客网 时间:2024/06/04 20:15

设计模式:bridge

如果在子类的扩展中有2个维度,想解耦合,则用桥接。

package com.bjsxt.dp.bridge;public class Boy {private String name;public String getName() {return name;}public void setName(String name) {this.name = name;}public void pursue(MM mm) {//Gift g = new WarmGift(new Flower());Gift g = new WildGift(new Ring());//give(g, mm);}public void give(Gift g, MM mm) {}}


package com.bjsxt.dp.bridge;public class Flower extends GiftImpl {}


package com.bjsxt.dp.bridge;public class Gift {protected GiftImpl impl;}


package com.bjsxt.dp.bridge;public class GiftImpl {}


package com.bjsxt.dp.bridge;public class Ring extends GiftImpl {}


package com.bjsxt.dp.bridge;public class WarmGift extends Gift{public WarmGift(GiftImpl impl) {this.impl = impl;}}

package com.bjsxt.dp.bridge;public class WildGift extends Gift {public WildGift(Ring ring) {this.impl = impl;}}


package com.bjsxt.dp.bridge;public class Ring extends GiftImpl {}

package com.bjsxt.dp.bridge;public class MM {private String name;public String getName() {return name;}public void setName(String name) {this.name = name;}}




0 0
原创粉丝点击