JAVA設計模式 4【建立型】理解建造者模式

程式猿小碼發表於2020-07-01

Hello,又是拖了幾天更,實在是忙的要死,有時候忙累了,真的就是倒頭睡的那種,剛好今天閒下來了。今天來更新一篇建造者模式。

其實建造者模式,我們已經在上一節已經有了解過了。只不過是上一節沒有提到這樣的一個概念。可能大家都覺得抽象工廠模式一般都是那樣用的,其實裡面已經包含了我們這一節的內容。

且聽我細細道來。

簡介

建造者模式 又稱作Builder 模式,它將一個複雜物件 拆分成多個小元件,將一個個小元件組裝成複雜的物件。這就是建造者模式

舉個例子?

比如我們的電腦:它是一個複雜物件,我們可以將它拆封成:

  • CPU物件
  • 主機板物件
  • 記憶體物件
  • 硬碟物件。。。。

在使用建造者模式組裝 的時候,就可以模擬實際我們在DIY 主機的時候,將一個個零件組裝成一臺可以開機的計算機

程式碼示例

建造模式常常與抽象工廠一起使用,建造者類一般通過工廠的抽象方法例項化指定的工廠,然後通過工廠生產物件

image.png

程式碼我們還是參考上一節的內容,只不過,我改了一個類名,方便大家理解。

//抽象工廠建造者
public class AbstractFactoryBuilder {

    public PhoneProduct createPhone(String name) {

        AbstractFactory factory = null;

        if ("xiaomi" == name) {
            factory = new XiaoMiFactory();
        } else {
            factory = new HuaweiFactory();
        }
        PhoneFactory phoneFactory = factory.phoneFactory();

        return phoneFactory.show();
    }
}
  1. 建造者只是指揮物件的建立、呼叫工廠組裝生產物件、不參與產品 是如何構造出來的這個過程。
  2. 建造者與實際產品是解耦的、即使建造者不存在、工廠仍然可以建立產品

簡單理解

簡單理解來說就是:

  1. 通過建造者類、簡化了我們建立物件的過程,這個過程由建造者 替我們完成,而我們只需要給建造者 一些提示。 這裡我們傳入了一個名字
  2. 建造者完成物件的組裝、我們最後只需要產品。PhoneProduct
  3. 通過抽象工廠,按照名稱建立指定的工廠小米工廠,然後再從大工廠裡面取出我們這裡需要的手機工廠 在通過手機工廠 建立出手機產品
  4. 最後返回給我們的訪問類main()

小結

想不到吧,這個所謂的建造者 已經在潛移默化中,已經被我們所使用過了。其實設計模式一點都不難,所謂設計模式,就是前人總結的經驗套路、就是這樣拿來用的,就這樣理解。

參考

http://c.biancheng.net/view/1354.html

程式碼示例

https://gitee.com/mrc1999/Dev-Examples

歡迎關注

banner

相關文章