Java设计模式之适配器模式

首先复制大话设计模式两句话

什么是适配器模式:将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作

那适配器主要解决什么问题呢?
举个栗子,一大一小两根水管通过转接口就可以接上,而这个转接口就是我们适配器。下面我们举例APP集成多个厂家视频SDK来说明适配器

先来看看我们适配器ICameraAdapter

public interface ICameraAdapter {
    void init();
    void startCamera();
    void stopCamera();
}

然后我们实现A厂家视频

public class CameraA implements ICameraAdapter {
    @Override
    public void init() {
        System.out.print("A厂家 摄像头初始化");
    }

    @Override
    public void startCamera() {
        System.out.print("A厂家 摄像头预览");
    }

    @Override
    public void stopCamera() {
        System.out.print("A厂家 摄像头退出预览");
    }
}

在实现B厂家摄像

public class CameraB implements ICameraAdapter {
    @Override
    public void init() {
        System.out.print("B厂家 摄像头初始化");
    }

    @Override
    public void startCamera() {
        System.out.print("B厂家 摄像头预览");
    }

    @Override
    public void stopCamera() {
        System.out.print("B厂家 摄像头退出预览");
    }
}

下面我们看看使用我们Camera

public class CameraAdapter extends Activity{

   private ICameraAdapter mICameraAdapter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        //查看A厂家摄像头
        mICameraAdapter = new CameraA();
        mICameraAdapter.init();
        mICameraAdapter.startCamera();
        mICameraAdapter.stopCamera();

        //查看B厂家摄像头
        mICameraAdapter = new CameraB();
        mICameraAdapter.init();
        mICameraAdapter.startCamera();
        mICameraAdapter.stopCamera();
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值