适配器模式-adapter

本文通过模拟顾客在米店和肉店购物的需求场景,引入了适配器模式的概念。通过定义不同的接口和类,实现了单一职责原则的同时,也解决了客户希望在一个店铺内购买多种商品的问题。介绍了适配器模式的基本原理及其实现方式。

米店只卖米。

肉店只卖肉。

顾客到米店只能买到米,到肉店只能买到肉。

顾客想到一个店中既买到米,又买到肉,于是就产生了适配器模式来满足顾客的需求。

---------------------------------------------------------------------------------------

定义一个接口MiInterface,定义一个卖米的 方法sellMi()。

/**
* 定义一个接口MiInterface,定义一个卖米的方法。
* @author hsy
*
*/
public interface MiInterface {
public void sellMi();

}

---------------------------------------------------------------------------------------

定义一个类Mi实现了MiInterface接口,并且实现了卖米 方法sellMi()。

即米店只卖米。

/**
*
* @author hsy
*
*/
public class Mi implements MiInterface {

public void sellMi() {
System.out.println(" sell mi");
}

}

---------------------------------------------------------------------------------------

定义一个接口RouInterface,定义一个卖米的方法sellRou()。

/**
*
* @author hsy
*

*/
public interface RouInterface {
public void sellRou();
}

---------------------------------------------------------------------------------------

定义一个类Rou实现了RouInterface接口,并且实现了卖米 方法sellRou()。

即米店只卖肉。

/**
*
* @author hsy
*
*/
public class Rou implements RouInterface{

public void sellRou() {
System.out.println(" sell rou");

}

}

---------------------------------------------------------------------------------------

定义一个类MAdapter实现了MiInterface和RouInterface接口,

就可以同时实现卖米sellRou() 和卖肉sellMi() 两个方法。

/**
*
* @author tarena
* 适配器(双向)模式
*/
public class MAdapter
implements MiInterface,RouInterface{
private Mi mi;
private Rou r;
public MAdapter(Mi mi){
this.mi = mi;
}
public MAdapter(Rou r){
this.r = r;
}

public void sellMi(){ //米店可以卖肉
r.sellRou();
}
public void sellRou(){ //肉店可以卖米
mi.sellMi();
}
public static void main(String[] args) {

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值