设计模式之策略模式

来源:互联网 发布:类似youcam的软件 编辑:程序博客网 时间:2024/06/09 17:42

设想一种场景,小明要去商店买东西,可是他不知道去商店的路线该怎么走,这是他爸爸给了它一锦囊说你不知道怎么走那么你就打开这个锦囊里面会有去商店的办法的,然后小明就拿出爸爸给的锦囊出去了:

package com.djk.celuo;/** * 策略模式 * @author djk * */public class TacticsTest{    public static void main(String[] args)    {                XiaoMing xiaoMing = new XiaoMing();             //策略1        Tactics tactics = new TacticsOne1();        //策略2        Tactics tactics2 = new TacticsOne2();                //锦囊        Tips tips = new Tips();                //给锦囊放策略1        tips.setTactics(tactics);                //给小明一个锦囊       xiaoMing.setTips(tips);                //小明去商店        xiaoMing.goToShopping();            }}/** * 策略接口 * @author djk * */interface Tactics{    /**     *去商店的路线     *     */    void goShopping();}/** * 第一种策略 * @author djk * */class TacticsOne1 implements Tactics{    public void goShopping()    {        System.out.println("去商店的路线1");    }}class TacticsOne2 implements Tactics{    public void goShopping()    {        System.out.println("去商店的路线2");    }    }/** * 存放策略的锦囊 * @author djk * */class Tips{    private Tactics tactics;    public Tactics getTactics()    {        return tactics;    }    public void setTactics(Tactics tactics)    {        this.tactics = tactics;    }}/** *小明 * @author djk * */class XiaoMing{    /**     * 锦囊     */    private Tips tips;        public void goToShopping ()    {         //小明忘记带爸爸给的锦囊了        if(null == tips)        {            System.out.println("忘记带锦囊啦。。。");            return ;        }                Tactics tactics = tips.getTactics();                //爸爸没有在锦囊里放策略给了一个空的锦囊啊        if(null ==tactics)        {            System.out.println("给的锦囊是空的啊里面没有放策略啊");            return ;        }                tactics.goShopping();    }    public Tips getTips()    {        return tips;    }    public void setTips(Tips tips)    {        this.tips = tips;    }    }

这就是我写的一个策略模式。。。。有不对的地方请指出谢谢。。。。。

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 孩子学习注意力不集中怎么办 1岁宝宝皮肤黄怎么办 三岁宝宝太皮怎么办 一岁宝宝太皮了怎么办 5岁宝宝学习太皮怎么办 2岁宝宝太皮了怎么办 身上的皮肤很干怎么办 小孩子挑食厌食不吃饭怎么办 1岁宝宝特别淘气怎么办 4岁宝宝有多动症怎么办 3岁宝宝有多动症怎么办 6个月婴儿睡眠少怎么办 7个月婴儿睡眠少怎么办 孩子好动注意力不集中怎么办 学生在课堂上爱讲话怎么办? 幼儿园老师圢小孩脸怎么办 宝宝上幼儿园坐不住怎么办 宝宝在幼儿园总是坐不住怎么办 早教课上宝宝坐不住怎么办? 孩子在幼儿园上课坐不住怎么办 小孩不会写拼音a怎么办 小朋友上课注意力不集中怎么办 一年级孩子上课爱说话怎么办 一年级小孩不听老师话怎么办 大班幼儿规则意识差怎么办 幼儿大班《打雷了怎么办》的教案 小孩上课不听讲到处乱跑怎么办 小孩子经常咬人好动怎么办 6个月宝宝好动怎么办 新生调皮被幼儿园退学怎么办 孩子在幼儿园太调皮怎么办 幼儿上课注意力不集中怎么办 幼儿上课一半要离开怎么办 八个月宝宝消化不良拉肚子怎么办 8个月的宝宝拉肚子怎么办 孕8个月拉稀怎么办 孩子调皮好动爱说话怎么办 宝宝8个月不会爬怎么办 怀孕8个月不想要了怎么办 8个月宝宝发烧怎么办 八个月的小孩发烧怎么办