Является ли в методе построения метод `buildpart ()` фабричным методом? - PullRequest
0 голосов
/ 08 июня 2019

В схеме проектирования строителя

enter image description here

является ли метод buildpart() заводским методом?(Для сравнения, абстрактная фабрика - это набор фабричных методов.)

Почему они (а не) фабричные методы?Для пояснения, не могли бы вы также дать определение фабричного метода?

Примером buildpart() из Design Patterns от Gamma et al является:

void StandardMazeBuilder::BuildMaze  () {
_currentMaze  = new Maze;
}

1 Ответ

1 голос
/ 09 июня 2019

Фабричный метод создает конкретный объект / продукт, обычно с ключевым словом new, а возвращает этот объект.Обычно имя фабричного метода начинается с префикса create.

. Метод buildpart() в контексте Pattern Builder может создать некоторый объект, но не возвращает этот объект.С точки зрения директора, ему не нужно получать деталь, созданную методом buildpart().Директор просто хочет поручить Строителю изготавливать детали в требуемом порядке и, наконец, получить конечный продукт.это не фабричный метод.

...