桥接模式理解

桥接模式就是将多个抽象组合在一起。

比如游戏机和手柄都是抽象  客户需要根据自己的需要选择不同的游戏机和手柄

//游戏机
public interface GameContainer{
    void startGame();
}
//手柄
public interface Handle{
    void handle();
}
// 完整的机器
public abstract class Host{

    private GameContainer gameContainer;

    private Handle handle;

    public Host(GameContainer gameContainer,Handle handle){
        this.gameContainer=gameContainer;
        this.handle=handle;
    }
    //游戏机工作的方法
    public abstract void work();

    public void startGame(){
        gameContainer.startGame();
    }

    public void handle(){
        handle.handle();
    }
}
// Xbox360机器
public Xbox360 extends Host{

    public Xbox360(GameContainer gameContainer,Handle handle){
        super(gameContainer,handle);
    }
    
    //游戏机工作的方法
    public void work(){
        //Xbox360机器 开始工作了
        startGame();
        handle();
    }
}

桥接模式和装饰模式:

这两个模式在 定程度上都可减少子类的数目,避免出现复杂的继承关系 但是它们解决 的方法却各有不同,装饰模式把子类中比基类多出来的部分放到单独的类里面,以适应新功能 的增加,把描述新功能的类封装到基类的对象里面时,就得到了所需要的子类对象,这些描述 新功能的类通过组合可以实现很多的功能组合。而桥接模式是把两个以上独立的抽象维度分离, 使用聚合的方式使其关联,来达到减少子类的目的,结构上桥接模式比装饰模式要复杂。

桥接模式和适配器模式:

他们的共同点是桥接和适配器都是让两个类配合工作,它们的区别是出发点不同,适配器 的出发点是改变已有的两个接口,让它们相容 桥接模式的出发点是分离抽象化和实现化,使 两者的接口可以不同,目的是分离

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值