1. 寫在前面
在前面 設(shè)計模式(2) & 設(shè)計模式(3)中轴合,我們學(xué)習(xí)了工廠類梭稚,其通過將產(chǎn)品的實現(xiàn)和生成分開吮龄,將具體產(chǎn)品的實例化放在子類(工廠實現(xiàn)類)中完成
2. 生成器
看到 生成器
這個概念可能很陌生,但是看到 Builder
這個關(guān)鍵字开皿,可能就很熟悉了涧黄,因為平時在代碼里面一直都是這么使用的。
將一個復(fù)雜對象的構(gòu)建與它的表示分離赋荆,使得同樣的構(gòu)建過程可以創(chuàng)建不同的表示
3. 理解
一般來說笋妥,是創(chuàng)建對象的步驟比較多,我們才會使用 生成器
模式窄潭。
所謂的 生成器
模式就是說分步去創(chuàng)建春宣,去組裝。
在實際工作中,我們會使用一個 @Builder
注解來完成這個事情月帝。
該注解來自于 lombok
包躏惋,改包主要是為了一些 POJO (Plain Old Java Object, 普通java 對象)的生成和使用。
Java Bean 可以包括一些業(yè)務(wù)邏輯嚷辅,但是POJO 就是純數(shù)據(jù)
看下面的代碼
CountryTagCreateBO countryTagCreateBO = CountryTagCreateBO.builder().createCountryTag(
Collections.singletonList(tagDTO)).status(context.getStatus()).build();