笑着理解设计模式-java--策略模式

今天理解的策略模式,也是第一次尝试公开博客.第一篇.
作为不会卖萌的码农.我能说案例中冰淇淋的名字都是百度的嘛.2333
谈一下今天的这个例子.
(这里tag一下.欠一张uml图.求不会被专业课老师打死)
这个例子整体的结构说一下.这里我就不大量粘贴代码了.因为可能会比较乱(追求一种清爽的不得鸟的感觉)写一下伪代码吧.

伪代码定义:  
    公共的  接口 iceBox[名字]{
            抽象方法 获得冰箱冰激凌();
}
//咳咳,接口方法是没有方法的体的哦.接口方法还是抽象的哦.顺便提一下.



代码如下:
public interface iceBox {
    //设置一个冰箱接口
    public void get_box_ice(); 
}

下面出来三个主角Jack、Lucy、Tom.因为口味不同所以他们喜欢吃不同口味的冰淇淋.代码如下:
创建三个类实现icebox.//这里为了让文章整体清爽我就写一个类

public class Lucy implements iceBox{  //[Jack][Tom]这里换一下类名再创建两个
    public void get_box_ice() {
        System.out.println("已经获取巧乐兹");      
    }

}

好了.这时候写我们板凳类(:为什么板凳类.因为他们都需要通过板凳去拿取自己喜欢的冰淇淋.代码如下
//这里值得好好理解下;

public class Stool {
    private iceBox iceBox;  //私有化接口
    public Stool(com.it.pcc.stategyPattern.iceBox iceBox) {
        this.iceBox = iceBox;
    }  
    public void get_box_ice(){
        this.iceBox.get_box_ice();
    }
}

下面我们创建一下测试类.

public class main_text {
    public static void main(String[] args) {
        Stool stool;
        System.out.print("搬着小板凳.Lucy最爱吃的巧乐兹");
        stool=new Stool(new Lucy());
        stool.get_box_ice();
        System.out.println("搬着小板凳.Jack最爱吃品脱");  //不要问我是什么...百度的!!!
        stool=new Stool(new Jack());
        stool.get_box_ice();
        System.out.println("搬着小板凳.Tom最爱吃鲜果烈焰");
        stool=new Stool(new Tom());
        stool.get_box_ice();
        System.out.println("策略模式的好处就是:体现了高内聚低耦合的特性");
        System.out.println("易扩展、易理解、易切换");  
    }
}

第一篇文章有些仓促.尤其是板凳类在策略模式的用途、还有测试类的.应该还是比较清爽的.如果对于代码有不太理解的.可以留言交流.如果还是更好的想法或建议欢迎留言.

                --在学习的路上,难免有理解不全.欢迎批评.
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值