Режим создателя Java чем-то похож на заводской режим, но фокус другой. Фабричный паттерн часто заботится только о том, что вы хотите, но не о конкретных деталях этой вещи. Условно говоря, режим создания касается конкретных деталей создания этой вещи. В качестве примера возьмем создание персонажа. Нас заботит не только создание персонажа, но и его пол, цвет кожи и имя. Затем мы можем использовать режим создателя.
Пример программы следующий:
сборщик пакетов;/** * * DOC Race role* */public class Race { Private String name;// name Private String SkinColor;// Цвет кожи Private String Sex;// Пол public String getName() { return this.name ; } public void setName(String name) { this.name = name; } public String getSkinColor() { return this.skinColor; } public void setSkinColor(String SkinColor) {; this.skinColor = SkinColor; } public String getSex() { return this.sex; } public void setSex(String sex) { this.sex = sex; }} package builder;/** * * DOC Нас не волнует просто чтобы создать персонажа, вам также необходимо позаботиться о создании его характеристик* */public class RaceBuilder { Private Race Race; /** * DOC Создать расу* * @return */ public RaceBuilder builder() { this. раса = новая Race(); return this; } /** * DOC для выбора имени* * @return */ public RaceBuilder setName(String name) { this.race.setName(name); выберите пол* * @return */ public RaceBuilder setSex(String sex) { this.race.setSex(sex return this } /** * DOC выберите цвет кожи* * @return */ public RaceBuilder; setSkinColor(String SkinColor) { this.race.setSkinColor(skinColor); return this } /** * * DOC Вернуть созданную расу* * @return */ public Race create() { return this.race }};
Тестовые классы следующие:
сборщик пакетов; публичный класс Main { public static void main(String[] args) { Race Race = new RaceBuilder().builder().setName("Чжан Сан").setSex("Мужчина").setSkinColor("Белый" ).создавать(); }}