桥接模式

桥接模式:如果你了解JDBC的DriverManager设计思想,基本就理解了该模式。

该模式比较复杂,也是抽象层次比较高的模式。

具体思想:有一个接口,该接口有很多种具体实现,客户端调用那一个具体的实现,是通过接口管理器进行分析调用。接口管理器就是客户端与服务端的“桥”。

在JDBC中,DriverManager就是桥,Driver就是接口,各个数据库厂商的实现就是具体实现。

根据使用的数据库不同,DriverManager给我们生产的Driver就不同。

具体实现代码如下:

package com.mkf.pattern;

public interface InterfaceOne {
	public void operation();
}

package com.mkf.pattern.impl;

import com.mkf.pattern.InterfaceOne;

public class ClassOne implements InterfaceOne {

	@Override
	public void operation() {
		System.out.println("第一种业务 " + ClassOne.class.getName());
	}

}

package com.mkf.pattern.impl;

import com.mkf.pattern.InterfaceOne;

public class ClassTwo implements InterfaceOne {

	@Override
	public void operation() {
		System.out.println("第二种业务 " + ClassTwo.class.getName());
	}

}


package com.mkf.bridge;

import com.mkf.pattern.InterfaceOne;

public abstract class Bridge {
	private InterfaceOne io;

	public InterfaceOne getIo() {
		return io;
	}

	public void setIo(InterfaceOne io) {
		this.io = io;
	}

	public void operation() {
		io.operation();
	}
}

package com.mkf.bridge;

public class MyBridge extends Bridge {
	@Override
	public void operation() {
		getIo().operation();
	}
}


package com.mkf;

import com.mkf.bridge.Bridge;
import com.mkf.bridge.MyBridge;
import com.mkf.pattern.impl.ClassOne;
import com.mkf.pattern.impl.ClassTwo;

public class TestBridge {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		Bridge bridge = new MyBridge();
		ClassOne co = new ClassOne();
		ClassTwo ct = new ClassTwo();
		bridge.setIo(co);
		bridge.operation();
		bridge.setIo(ct);
		bridge.operation();
	}

}

 

执行结果

第一种业务 com.mkf.pattern.impl.ClassOne
第二种业务 com.mkf.pattern.impl.ClassTwo

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值