Рубрики
Uncategorized

Режим проектирования-03-режим генератора

Автор оригинала: David Wong.

Режим генератора

Резюме

Шаблон генератора отделяет построение сложного объекта от его представления, так что один и тот же процесс построения может создавать разные представления. Основная функция шаблона генератора состоит в том, чтобы создавать сложные продукты, и создавать продукты шаг за шагом в деталях, то есть шаблон генератора фокусируется на решении проблемы пошагового построения сложных объектов.

Осуществление

Используйте экспорт файла для реализации шаблона генератора. Экспорт файла имеет общий текст, XML и другие форматы файлов. Генератор как интерфейс, отличается специфичной для конкретного генератора реализацией метода интерфейса. Существует также часть алгоритма, в которой директор отвечает за общую конструкцию, которая является относительно постоянной.

Резюме и анализ

Процесс построения объектов в генераторном режиме унифицирован и фиксирован. Изменяющаяся часть вставляется в часть генератора. Пока настроены разные генераторы, один и тот же процесс сборки может создавать разные продукты. Основное внимание в шаблоне генератора уделяется разделению метода построения и конкретной реализации построения, чтобы алгоритм построения можно было использовать повторно. Конкретную реализацию можно легко расширять и переключать, чтобы можно было гибко создавать различные объекты продукта. Шаблон генератора аналогичен шаблону метода шаблона, но шаблон метода шаблона в основном используется для определения скелета алгоритма и задержки некоторых шагов алгоритма до подкласса. Шаблон генератора состоит в том, чтобы определить весь алгоритм построения с помощью “директора”. Некоторые функции алгоритма, связанные с созданием и сборкой конкретных объектов деталей, поручены для реализации конкретным генераторам.

Реализация кода:

Модель генератора (PHP/go)

Оригинал: “https://developpaper.com/design-mode-03-generator-mode/”