1 桥接模式感觉就是来解决耦合的,个人的一点理解,参考《大话设计模式》
2 具体实现,以手机品牌和手机游戏为例,手机有很多品牌,而手机有很多个游戏,即各个手机品牌有很多个子类,手机游戏有很多个子类,通过创建手机品牌抽象类,定义一个手机游戏接口对象,在不同的手机品牌实现类中将手机接口指向具体的实现类来达到解耦的作用。
手机品牌抽象类及子类
/**
* 手机品牌抽象类
* @author Tang
*
*/
public abstract class HandBrand {
protected HandSoft handSoft;
public void setHandSoft(HandSoft handSoft) {
this.handSoft = handSoft;
}
public abstract void run();
}
public class HandBrandA extends HandBrand{
@Override
public void run() {
// TODO Auto-generated method stub
handSoft.run();
}
}
public class HandBrandB extends HandBrand{
@Override
public void run() {
// TODO Auto-generated method stub
handSoft.run();
}
}
手机游戏接口即实现类
/**
* 手机软件接口
* @author Tang
*
*/
public interface HandSoft {
public void run();
}
public class HandAddressList implements HandSoft {
@Override
public void run() {
// TODO Auto-generated method stub
System.out.println("运行通讯录");
}
}
public class HandGame implements HandSoft {
@Override
public void run() {
// TODO Auto-generated method stub
System.out.println("运行游戏");
}
}
测试:
public class TextMain {
public static void main(String[] args){
HandSoft handSoft=new HandGame();
HandBrand handBrand=new HandBrandA();
handBrand.setHandSoft(handSoft);
handBrand.run();
}
}
未完待续。。。