lombok 中@Builder 原理(建造者模式) 剖析
2023-08-28 19:27 作者:MicroShuai | 我要投稿
建造者模式用于創(chuàng)建過程穩(wěn)定,但配置多變的對(duì)象。在《設(shè)計(jì)模式》一書中的定義是:將一個(gè)復(fù)雜的構(gòu)建與其表示相分離,使得同樣的構(gòu)建過程可以創(chuàng)建不同的表示。
經(jīng)典的“建造者-指揮者”模式現(xiàn)在已經(jīng)不太常用了,現(xiàn)在建造者模式主要用來通過鏈?zhǔn)秸{(diào)用生成不同的配置。比如我們要制作一杯珍珠奶茶。它的制作過程是穩(wěn)定的,除了必須要知道奶茶的種類和規(guī)格外,是否加珍珠和是否加冰是可選的。使用建造者模式表示如下:
可以看到,我們將 MilkTea 的構(gòu)造方法設(shè)置為私有的,所以外部不能通過 new 構(gòu)建出 MilkTea 實(shí)例,只能通過 Builder 構(gòu)建。對(duì)于必須配置的屬性,通過 Builder 的構(gòu)造方法傳入,可選的屬性通過 Builder 的鏈?zhǔn)秸{(diào)用方法傳入,如果不配置,將使用默認(rèn)配置,也就是中杯、加珍珠、不加冰。根據(jù)不同的配置可以制作出不同的奶茶:
運(yùn)行程序,輸出如下:
轉(zhuǎn)載:力扣