实战设计模式之桥接模式

只做代码分析,不做语义解析(高级程序员都从代码和UML理解设计思想)。代码来自尚学堂,UML来自本人手绘:

MM.java

public class MM {
	private String name;
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
}
Gift.java

public class Gift {
	protected GiftImpl impl;
}
GiftImpl.java

public class GiftImpl {

}

WarmGift.java

public class WarmGift extends Gift{
	public WarmGift(GiftImpl impl) {
		this.impl = impl;
	}
}

WildGift.java

public class WildGift extends Gift {

	public WildGift(Ring ring) {
		this.impl = impl;
	}
	
}

Ring.java

public class Ring extends GiftImpl {

}

Flower.java

public class Flower extends GiftImpl {

}

Boy.java

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) {
		
	}
}

UML图:

实战设计模式之桥接模式_第1张图片

桥接模式的作用就是将抽象部分与实现部分分离,使它们都可以独立的变化。

更多内容请查看我的其他blog:http://blog.csdn.net/caicongyang

你可能感兴趣的:(设计模式,实战设计模式,桥接模式,Bridge)