设计模式——桥接模式

Posted shenqiaqia

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计模式——桥接模式相关的知识,希望对你有一定的参考价值。

这次来看下桥接模式,将抽象部分与实现部分分离,使它们都可以独立的变化。

对于类之间相互引用,但是变化又十分频繁,可以抽象出来放在抽象类里面进行聚合。

来看下类图:

技术图片

类图也很简单,没有什么复杂的地方,直接看下代码吧:

public abstract class RemoteControl 

    protected TV tv;

    public RemoteControl(TV tv) 
        this.tv = tv;
    

    public void on() 
        tv.on();
    

    public void off() 
        tv.off();
    

    abstract void setChannel();

  

public class ConcreteRemote extends RemoteControl 

    public ConcreteRemote(TV tv) 
        super(tv);
    

    @Override
    void setChannel() 
        tv.tuneChannel();
    

  

public interface TV 

    void on();

    void off();

    void tuneChannel();

  

public class Sony implements TV 

    @Override
    public void on() 
        System.out.println("索尼电视机打开了");
    

    @Override
    public void off() 
        System.out.println("索尼电视机关闭了");
    

    @Override
    public void tuneChannel() 
        System.out.println("索尼电视机换频道了");
    

  

public class Sharp implements TV 

    @Override
    public void on() 
        System.out.println("夏普电视机打开了");
    

    @Override
    public void off() 
        System.out.println("夏普电视机关闭了");
    

    @Override
    public void tuneChannel() 
        System.out.println("夏普电视机换频道了");
    

  

 

以上是关于设计模式——桥接模式的主要内容,如果未能解决你的问题,请参考以下文章

桥接模式(Bridge Pattern)

设计模式 -- 桥接模式(Bridge)

设计模式——桥接模式

设计模式实战-桥接模式

设计模式:学习笔记——桥接模式

VMware在桥接模式下无法上网!!!怎么解决?