手记

Java 建造者模式——学姐夸我的“手法”很好很专业,学姐感到很是欣慰和愉悦......让你以最尴尬的例子记住建造者模式


傻白甜学姐可爱的小故事引入

自上篇继续讲故事

学姐抱住了我吗?此时此刻,内心无比激动!

学姐的手真的很温暖,仿佛像做梦般一样!我扭过头来,看着学姐,就这样,睡了一夜。到了第二天,衣服还是有点潮湿!看来要等到中午了,我对学姐说道:“衣服还是有点潮湿,我去买早餐吧,你在这里等我!”,我便买了我最喜欢的早餐,牛奶加面包和一点三明治!当我回来时,一开门,学姐突然抱住了我,吓我一跳!这样的惊喜我很惊讶,我们吃完早餐也没有别的事情可干!于是就观赏起了鱼缸中的小蝌蚪,我们看的很痴迷,我对学姐说道:“小蝌蚪要找妈妈,你能不能帮帮它?”,学姐微微一笑:“能不能帮小蝌蚪找到它的妈妈我不知道,但是你的小蝌蚪我可以帮你找到它们的妈妈!待会儿咱们一起找,好不好?”,说完她指着我刚捡回来的那袋小蝌蚪,那是我在路上捡到的,正要去河边放生它们!唉,真不知道是谁这么狠心,把小蝌蚪丢在路边。

到了中午,学姐穿上衣服收拾好后,我们一起出门了,然后去到河边,把那袋小蝌蚪放生了!它们的妈妈竟然直接过来接它们了!我和学姐此时都很开心!

“正好星期天,去我家玩两天吧,离这里不远!”,我对学姐说道。学姐很开心的答应了,接着我们去超市买了点小零食,还有蔬菜,可以回家做饭。学姐很惊讶地说道:“忆难弟弟,原来你还会做饭呀!”,“哈哈,那是当然”!结账的时候,发现是295块钱,心里没多想,对学姐说,随便拿个糖吧!学姐便随手一拿,然后一起坐车往我家去!

到我家之后,我们开始过上我们的宅男、宅女生活,打开电视,拿过来平板电脑,让学姐坐在沙发上!然后我去做饭,接着我走进厨房,熟练地做起来了饭,做了最拿手的糖醋里脊、炒鸡蛋,两小碗酸辣粉!

“啊!”,我听见学姐大叫,赶紧慌忙跑出去,原来在超市结账的时候,学姐随手拿的糖竟然是…“拦精灵”!怪不得学姐会大叫起来,如果是我办了这么一件尴尬的事,我也会大叫一声!此时此刻的尴尬局面,我们谁都不出声… “没事,今晚可以用嘛,忆难弟弟!”,学姐脸红地说道,我一脸懵懵、心动动的走进厨房,一时间遏制不住此时此刻的心情!接着,把饭菜端了出来,和学姐一起吃饭!“不错嘛,手法很专业!”,学姐露出了欣慰和愉悦的笑容!

吃完午饭后,我们一起打游戏,很是开心,枯燥无味的生活多了一份色彩,就这样,一直玩到了晚上!但是,不能一直玩游戏,我们还需要学习!学姐的成绩很好,她可是大学里有名的学霸耶!很多人都羡慕她。接着我们便一起学习,我向学姐请教了问题,让她给我讲一下 Java建造者模式!好,接下来收一下你的小心思!看一下Java建造者设计模式,故事不用愁,关注我,订阅我的频道,下篇接着这篇故事讲!


傻白甜学姐的建造者介绍

建造者又称为生成器模式,它属于创建型设计模式,主要用途是将复杂对象的构建与表示分离!(但不要试图把漂亮学姐和聪明的学弟分离!!!这是重点!!!)


傻白甜学姐的建造者Demo

我们来构建以下傻白甜学姐和学弟的美好一天,然后写成日记!

先来创建笔记本这个实体类,包括两个主人公,还有发生的事情:

/**
 * 日记本实体类
 */
public class Diary {

    //主人公1
    private String dramatisPersonae1;

    //主人公2
    private String dramatisPersonae2;

    //发生了什么事
    private String thing;


    public String getDramatisPersonae1() {
        return dramatisPersonae1;
    }

    public void setDramatisPersonae1(String dramatisPersonae1) {
        this.dramatisPersonae1 = dramatisPersonae1;
    }

    public String getDramatisPersonae2() {
        return dramatisPersonae2;
    }

    public void setDramatisPersonae2(String dramatisPersonae2) {
        this.dramatisPersonae2 = dramatisPersonae2;
    }

    public String getThing() {
        return thing;
    }

    public void setThing(String thing) {
        this.thing = thing;
    }
}


现在笔记本有了,我们需要一支笔来写日记!

/**
 * 写日记需要通过笔来写,这是一个笔接口
 */
public interface Pen {

    //写主人公1
    void setDramatisPersonae1();

    //写主人公2
    void setDramatisPersonae2();

    //写两个主人公之间发生了什么
    void setThing(String thing);

    //写完之后要合上笔记本
    Diary finished();
}


写日记需要构想一下,有哪两个主人公,他们之间发生了什么事情?

/**
 * 将笔记本放在桌上,拿着笔构想今天的事情
 */
public class Concept implements Pen {

    //笔记本
    Diary diary;

    public Concept() {

        //创建实体类(将笔记本放在桌子上)
        diary = new Diary();
    }

    /**
     * 构想主人公1
     */
    @Override
    public void setDramatisPersonae1() {
        System.out.println("主人公1:漂亮的学姐");
    }

    /**
     * 构想主人公2
     */
    @Override
    public void setDramatisPersonae2() {
        System.out.println("主人公2:聪明的学弟");
    }

    /**
     * 构想两个主人公之间发生的事
     */
    @Override
    public void setThing(String thing) {
        System.out.println(thing);
    }

    /**
     * 写完日记要合上笔记本
     */
    @Override
    public Diary finished() {
        System.out.println("学弟 和 学姐 的事情写完了 合上了笔记本");
        return diary;
    }
}


回忆今天的事情,构建完了,现在要开始动手写!

/**
 * 紧接着写今天的内容
 */
public class WriteDay {

    public Pen write(Pen pen) {

        //写主人公1
        pen.setDramatisPersonae1();

        //写主人公2
        pen.setDramatisPersonae2();

        //写很多事情
        pen.setThing("学姐 和 学弟 的小蝌蚪找妈妈");
        pen.setThing("学弟 给 学姐 做饭吃");
        pen.setThing("学姐 和 学弟 一起吃午饭");
        pen.setThing("学姐 发现把糖买成了 “拦精灵” ");
        pen.setThing("学姐 夸 学弟 的手法很好很专业");

        //写完了合上日记本
        pen.finished();

        return pen;
    }

}


好了,现在来整体看一下刚才写的日记!


/**
 * 学姐的建造者模式
 * <p>
 * 今天学弟和学姐的事情写成日记
 *
 * @author CSDN程忆难
 * @link https://myhub.blog.csdn.net
 */
public class Builder {

    public static void main(String[] args) {

        //写日记
        WriteDay writeDay = new WriteDay();
        writeDay.write(new Concept());

    }
}

代码结构是这样的:


运行,来看一下日记内容:


漂亮的学姐和聪明的学弟留下的小彩蛋

学弟:“学姐,学姐,你看我理解的建造者模式对吗?”

学姐:“对着!就是这样!”

学弟:“我一定要把这篇日记(博客)设成私有的,这样谁都看不到了!”

学姐:“其实写一篇博客很难的!”

学弟:“是呀,我写博客,要构思很长时间,得让别人易懂!唉,努力的写博客,只希望有人能赞一下我写的文章,为我的文章做出指点评论,还可以订阅我一下我的 Java精选频道 ,可是,有很多人白嫖!”

学姐:“没关系,你一直在进步,我很欣赏你,我们用我们的故事把23种设计模式写完吧!”

学弟:“好,让我们一起努力!”

学姐:“哈哈哈,我看到了你一个写废的稿子!”

学弟:“坏学姐!/羞羞羞”

(友善的学弟提醒你,你可以在评论区继续想象我和学姐的奇妙对话)


*如果你觉得你的课堂枯燥乏味,不妨让你的老师像我写博客一样,有这样的一个故事!




0人推荐
随时随地看视频
慕课网APP