天天看點

Java建造者模式,用代碼體驗LEGO的快樂

作者:千鋒教育

前言

本文主要講述Java設計模式中的建造者模式,文中使用通俗易懂的案例,使你更好的學習本章知識點并了解原理,做到有道無術。

一.什麼是建造者模式

建造者模式是23種設計模式中建立型模式的一種,它關注的是對象建立的步驟,将一個複雜的對象抽象出來,一步步地把一個複雜的對象建立出來。

二.生活中的建造者模式

1.音樂

每一首動人的歌曲都是通過由一個個美妙的音符組合而成,使用相同音符但是不同循序組合而成的歌曲也會是不同的歌曲,而這樣形成的歌曲就像是設計模式中的建造者模式。

2.國粹

麻将是中國的國粹。麻将的打法不同地區不一樣,個數也不一樣,但是總歸分為那麼幾類牌,而不同的牌能夠組合成不同的胡牌的牌型,而通過不同的的麻将子形成的胡牌牌型就像是設計模式中的建造者模式。

3.LEGO

樂高(LEGO),知名的老少皆宜的玩具,樂高積木是由一塊塊的小積木拼接成一個個的成品模型,根據每個人的動手能力和想象力拼出來的成品也會不一樣。由不同積木組合而成的樂高成品就像是設計模式中的建造者模式。

Java建造者模式,用代碼體驗LEGO的快樂

三.建造者模式的實作

接下來以一個人型樂高的模型來舉例,用建造者模式來實作。先建立一個産品角色樂高類

Java建造者模式,用代碼體驗LEGO的快樂

接下來建立抽象建造者和具體建造者鋼鐵俠樂高類

Java建造者模式,用代碼體驗LEGO的快樂

再建立一個指揮者樂高的指揮者類

Java建造者模式,用代碼體驗LEGO的快樂

最後通過建造者模式來建立我們需要的樂高對象。

Java建造者模式,用代碼體驗LEGO的快樂

四.總結

通過建造者模式建立對象,封裝性和擴充性會很好,用戶端不需要知道産品内部組成的細節。但是每個産品組成部分必須相同,限制了使用範圍,比如想建立個房子的樂高,那組合部分跟鋼鐵俠和高達都不同就建立不出來了。是以必須是相同的内部組成結構才會選擇使用建造者模式。

下一章将帶大家學習身外身法之術(設計模式之原型模式)。

以上就是我們本篇的全部内容啦,本期以LEGO為例,為大家講解了Java設計模式中的建造者模式,不知道大家是否學會了呢~

程式設計并不枯燥,如果有技術類問題,歡迎大家和我們一起交流讨論!

Java設計模式詳解,抽象工廠模式是怎麼回事?

Java課堂|餐飲的本質(設計模式之工廠模式)

Java課堂|獨一無二的事物(設計模式之單例模式)

Java之程式中的套路(設計模式的介紹)

更多技術類幹貨/IT程式員資訊,關注@千鋒教育

繼續閱讀