设计模式-结构篇(桥接模式)

模式定义

将抽象部分与它的实现部分分离,使它们都可以独立地变化

/**
 * Created by malei on 2016/12/5.
 * 小米电视
 */
public class XiaoMiTV implements  ITV{
    @Override
    public void on() {
        System.out.println("打开电视");
    }

    @Override
    public void setChannel(int a) {
        System.out.println("选择频道 = "+a);
    }

    public static void main(String[] args){
        ITV itv = new XiaoMiTV();
        XiaoMiControl control = new XiaoMiControl(itv);
        control.turnOn();
        control.setChannelKey(1);
    }
}

/**
 * Created by malei on 2016/12/5.
 * 小米遥控器
 */
public class XiaoMiControl extends AbstractControl{

    public XiaoMiControl(ITV ITV) {
        super(ITV);
    }

    public void setChannelKey(int channel) {
        System.out.println("AbstractControlImpl设置频道");
        setChannel(channel);
    }
}

/**
 * Created by malei on 2016/12/5.
 * 标准遥控器抽象
 */
public abstract class AbstractControl {

    private final ITV mITV;

    public AbstractControl(ITV ITV) {
        mITV = ITV;
    }

    public void turnOn() {
        mITV.on();
    }

    public void setChannel(int channel) {
        mITV.setChannel(channel);
    }
}

/**
 * Created by malei on 2016/12/5.
 * 标准电视机控制接口规范
 */
public interface  ITV {
    void on();
    void setChannel(int a);
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1 场景问题# 1.1 发送提示消息## 考虑这样一个实际的业务功能:发送提示消息。基本上所有带业务流程处理的系统...
    七寸知架构阅读 10,499评论 5 63
  • 设计模式汇总 一、基础知识 1. 设计模式概述 定义:设计模式(Design Pattern)是一套被反复使用、多...
    MinoyJet阅读 9,375评论 1 15
  • 设计模式基本原则 开放-封闭原则(OCP),是说软件实体(类、模块、函数等等)应该可以拓展,但是不可修改。开-闭原...
    西山薄凉阅读 9,334评论 3 14
  • 在正式介绍桥接模式之前,我先跟大家谈谈两种常见文具的区别,它们是毛笔和蜡笔。假如我们需要大中小3种型号的画笔,能够...
    justCode_阅读 5,733评论 0 7
  • 我不知道今天是怎么了,本来是送欧巴应该开心的日子,但是却开心不起来 一大早身体不适就感到了很疲累,放弃了去送他,下...
    发清genius阅读 1,059评论 0 0