Определение шаблона строителя: отделяйте построение сложного объекта от его представления, чтобы один и тот же процесс строительства мог создавать разные представления.
У шаблона строителя состоит в том, чтобы создать сложный объект шаг за шагом, что позволяет пользователям создавать их, просто указав тип и содержание сложных объектов. Пользователи не знают конкретных внутренних деталей конструкции. Режим застройщика очень похож на режим абстрактного завода.
Зачем использовать режим строительства
Это должно отделить процесс создания сложных объектов из его компонентов. Примечание: это процесс развязки и компоненты.
Поскольку сложный объект имеет не только большое количество компонентов, таких как автомобили, есть много деталей: колеса, рулевое колесо, двигатель и различные мелкие детали и т. Д. Есть много деталей, но это гораздо больше, чем это Чтобы собрать эти детали в автомобиль для автомобилей, этот процесс сборки также очень сложный (требует хорошей технологии сборки), а модель строителя предназначена для разделения компонентов и процесса сборки.
Как использовать режим строителя
Во -первых, давайте предположим, что сложный объект состоит из нескольких компонентов.
Во -первых, необходим интерфейс, который определяет, как создавать различные компоненты сложных объектов:
Кода -копия выглядит следующим образом:
Создатель общественного интерфейса {
// Создать компонент A, например, создать автомобильные колеса
void buildparta ();
// Создать компонент B, такой как создание рулевого колеса автомобиля
void buildpartb ();
// Создать компонент C, такой как создание автомобильного двигателя
void buildPartc ();
// вернуть результат окончательного сбора (вернуться к последнему собранному автомобилю)
// Процесс сборки готового продукта здесь не проводится, но передается в класс директора ниже.
// это поймет процесс развязки и компонентов
Продукт getResult ();
}
Используйте директора для создания последнего комплексного объекта, а вышеуказанный интерфейс Builder инкапсулирует, как создавать компоненты (сложные объекты состоит из этих компонентов), то есть как содержимое директора, как наконец собрать компоненты в готовые продукты:
Кода -копия выглядит следующим образом:
директор открытого класса {
частный строитель;
Публичный директор (строитель строителя) {
this.builder = Builder;
}
// Наконец, Parta partb partc используется для формирования сложного объекта
// это процесс сборки руля колес и двигателя в автомобиль
public void construct () {
Builder.BuildParta ();
Builder.buildPartb ();
Builder.buildPartc ();
}
}
Конкретная реализация Builder ConceteBuilder:
1. Соберите или собирайте компоненты продукта, заполнив интерфейс -строитель;
2. Определите и уточните, какие конкретные вещи он хочет создать;
3. Предоставьте интерфейс, который может повторно повторно провести продукт.
Кода -копия выглядит следующим образом:
Public Class ConcreteBuilder реализует строитель {
Часть Parta, Partb, Partc;
public void buildparta () {
// Вот конкретный код, как построить парту
};
public void buildPartb () {
// вот конкретный код, как построить Quartb
};
public void buildPartc () {
// вот конкретный код, как построить Quartb
};
публичный продукт getResult () {
// Вернуться к результату окончательного сборки
};
}
Сложный объект: продукт:
Кода -копия выглядит следующим образом:
продукт публичного интерфейса {}
Компоненты сложных объектов:
Кода -копия выглядит следующим образом:
Общественная часть интерфейса {}
Посмотрим, как позвонить в режим строителя:
Кода -копия выглядит следующим образом:
ConcreteBuilder Builder = New ConceteBuilder ();
Директор директор = новый директор (Builder);
Director.Construct ();
Продукт продукта = Builder.getResult ();
Приложение режима строителя
В реальном использовании Java мы часто используем концепцию «пула».
«Пул» на самом деле является частью памяти. Использование памяти будет улучшено. Измените класс директора в режиме Builder, чтобы диагностировать, какой компонент «разбивая конечность», а затем восстановить этот компонент.