Java 建造者模式-學姐誇我的“手法”很好很專業,學姐感到很是欣慰和愉悅......讓你以最尷尬的例子記住建造者模式


傻白甜學姐可愛的小故事引入

自上篇繼續講故事

學姐抱住了我嗎?此時此刻,內心無比激動!

學姐的手真的很溫暖,彷彿像做夢般一樣!我扭過頭來,看着學姐,就這樣,睡了一夜。到了第二天,衣服還是有點潮溼!看來要等到中午了,我對學姐說道:“衣服還是有點潮溼,我去買早餐吧,你在這裏等我!”,我便買了我最喜歡的早餐,牛奶加麪包和一點三明治!當我回來時,一開門,學姐突然抱住了我,嚇我一跳!這樣的驚喜我很驚訝,我們喫完早餐也沒有別的事情可幹!於是就觀賞起了魚缸中的小蝌蚪,我們看的很癡迷,我對學姐說道:“小蝌蚪要找媽媽,你能不能幫幫它?”,學姐微微一笑:“能不能幫小蝌蚪找到它的媽媽我不知道,但是你的小蝌蚪我可以幫你找到它們的媽媽!待會兒咱們一起找,好不好?”,說完她指着我剛撿回來的那袋小蝌蚪,那是我在路上撿到的,正要去河邊放生它們!唉,真不知道是誰這麼狠心,把小蝌蚪丟在路邊。

到了中午,學姐穿上衣服收拾好後,我們一起出門了,然後去到河邊,把那袋小蝌蚪放生了!它們的媽媽竟然直接過來接它們了!我和學姐此時都很開心!

“正好星期天,去我家玩兩天吧,離這裏不遠!”,我對學姐說道。學姐很開心的答應了,接着我們去超市買了點小零食,還有蔬菜,可以回家做飯。學姐很驚訝地說道:“憶難弟弟,原來你還會做飯呀!”,“哈哈,那是當然”!結賬的時候,發現是295塊錢,心裏沒多想,對學姐說,隨便拿個糖吧!學姐便隨手一拿,然後一起坐車往我家去!

到我家之後,我們開始過上我們的宅男、宅女生活,打開電視,拿過來平板電腦,讓學姐坐在沙發上!然後我去做飯,接着我走進廚房,熟練地做起來了飯,做了最拿手的糖醋里脊、炒雞蛋,兩小碗酸辣粉!

“啊!”,我聽見學姐大叫,趕緊慌忙跑出去,原來在超市結賬的時候,學姐隨手拿的糖竟然是…“攔精靈”!怪不得學姐會大叫起來,如果是我辦了這麼一件尷尬的事,我也會大叫一聲!此時此刻的尷尬局面,我們誰都不出聲… “沒事,今晚可以用嘛,憶難弟弟!”,學姐臉紅地說道,我一臉懵懵、心動動的走進廚房,一時間遏制不住此時此刻的心情!接着,把飯菜端了出來,和學姐一起喫飯!“不錯嘛,手法很專業!”,學姐露出了欣慰和愉悅的笑容!

喫完午飯後,我們一起打遊戲,很是開心,枯燥無味的生活多了一份色彩,就這樣,一直玩到了晚上!但是,不能一直玩遊戲,我們還需要學習!學姐的成績很好,她可是大學裏有名的學霸耶!很多人都羨慕她。接着我們便一起學習,我向學姐請教了問題,讓她給我講一下 Java建造者模式!好,接下來收一下你的小心思!看一下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種設計模式寫完吧!”

學弟:“好,讓我們一起努力!”

學姐:“哈哈哈,我看到了你一個寫廢的稿子!”

在這裏插入圖片描述

學弟:“壞學姐!/羞羞羞”

(友善的學弟提醒你,你可以在評論區繼續想象我和學姐的奇妙對話)


*如果你覺得你的課堂枯燥乏味,不妨讓你的老師像我寫博客一樣,有這樣的一個故事!




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章