【设计模式】策略设计模式

假设今天老婆让我去丈母娘家做客,可是我答应了我的情人晚上要回去陪她,这可怎么办?,,正在我纠结的时候,好哥们给我一个三个理由包,让我不要看,到时候看情况拆开

接口

三个妙计是同一个类型,继承同一个接口

/**
 * 声明一个接口
 * @author TTF
 *
 */
public interface JieKou {
    public void reson();
}

三个理由类

喝酒时候的理由

public class HeJiu implements JieKou {

    @Override
    public void reson() {
        System.out.println("我还要开车呢。。。");
    }

}

打麻将时候的理由

public class MaJiang implements JieKou {

    @Override
    public void reson() {
        System.out.println("我不会玩牌。。。");
    }

}

离开的理由

public class LiKai implements JieKou {

    @Override
    public void reson() {
        System.out.println("公司还有事,就先走了。。。");
    }

}

盛放理由的理由包

public class Context {
    private JieKou jieKou;

    public Context(JieKou jieKou) {
        this.jieKou = jieKou;
    }

    public void liYou() {
        this.jieKou.reson();
    }
}

去丈母娘家

public class JianZhangMuNiang {

    public static void main(String[] args) {
        Context context;
        System.out.println("见了丈母娘吃饭的时候,丈母娘敬酒了....");
        context = new Context(new HeJiu());//拿出有喝酒标签的理由
        context.liYou();

        System.out.println("吃过饭了,丈母娘要打麻将....");
        context = new Context(new MaJiang());//拿出有打麻将标签理由
        context.liYou();

        System.out.println("麻将不打,气氛不好了,那就找机会离开吧....");
        context = new Context(new LiKai());//要走了,拿出走标签的理由
        context.liYou();
    }
}

输出:

见了丈母娘吃饭的时候,丈母娘敬酒了....
我还要开车呢。。。
吃过饭了,丈母娘要打麻将....
我不会玩牌。。。
麻将不打,气氛不好了,那就找机会离开吧....
公司还有事,就先走了。。。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值