Шаблон Builder, работающий с реальными данными (не с некоторыми жестко закодированными данными) - PullRequest
0 голосов
/ 23 мая 2018

Я сейчас изучаю шаблон строителя.Все учебники, все отлично, но когда дело доходит до работы с реальными данными (не жестко закодированными строками внутри вашего SetFoo (), SetBar () (в сборщиках)), я понял, что мне нужно передать сборщику извнутри контроллеров (MVC).И тогда мой контроллер оказывается директором, верно?

Мой метод конструктора теперь отсутствует, поскольку данные уже установлены установщиками компоновщика.

Пример:

fooBuilder.setBar("real data from db");
fooBuilder.setFoo("more real data from the database");

Нарушает ли это принципы шаблона построения?

1 Ответ

0 голосов
/ 24 мая 2018

Я думаю, что все в порядке, чтобы передавать данные в конструктор с помощью контроллера.

Но вы все равно можете оставить метод конструктора.Использование шаблона Builder не требует удаления конструктора.Суть в том, что это класс Builder, который знает, как создать и построить деталь.

Я предлагаю переименовать метод set для сборки: BuildBar, BuildFoo.

...