桥接模式

Posted by Lazy on July 10, 2016

##桥接模式

  • 把事物与具体的实现分开,就是进行解耦

定义一个接口

public interface Sourceable {
	public void method();
}

实现类1

public class SourceSub1 implements Sourceable {

	@Override
	public void method() {
		System.out.println("this is the first sub!");
	}
}

实现类2

public class SourceSub2 implements Sourceable {

	@Override
	public void method() {
		System.out.println("this is the second sub!");
	}
}

桥接类

在这个桥接类里面进行,其他两个对象封装,实现调用
public abstract class Bridge {
	private Sourceable source;

	public void method(){
		source.method();
	}

	public Sourceable getSource() {
		return source;
	}

	public void setSource(Sourceable source) {
		this.source = source;
	}
}

调用类

public class MyBridge extends Bridge {
	public void method(){
		getSource().method();
	}
}

测试类

public class BridgeTest {

	public static void main(String[] args) {

		Bridge bridge = new MyBridge();

		/*调用第一个对象*/
		Sourceable source1 = new SourceSub1();
		bridge.setSource(source1);
		bridge.method();

		/*调用第二个对象*/
		Sourceable source2 = new SourceSub2();
		bridge.setSource(source2);
		bridge.method();
	}
}