Существует ли конкретный термин для шаблона Разработчика, куда каждый метод возвращает 'это'?

Я знаю, что это - шаблон Разработчика, но это - измененная форма его. Принимая во внимание, что статья Wikipedia о шаблоне Разработчика дает пример:

pizzaBuilder.createNewPizzaProduct();
pizzaBuilder.buildDough();
pizzaBuilder.buildSauce();
pizzaBuilder.buildTopping();
Pizza p = pizzaBuilder.getPizza();

Есть ли собственное имя для измененного шаблона Разработчика, который похож:

Pizza p = pizzaBuilder.createNewPizzaProduct().buildDough().buildSauce().buildTopping();

Это лучше всего замечено в библиотеке jQuery, где можно сделать что-то как:

$('li.item-a').parent().css('background-color', 'red');

Куда каждый метод, включая начальный $ (), возвращает объект jQuery, который обычно представляет ряд элементов страницы, и каждый метод воздействует на тот набор в некотором роде.

8
задан Ricket 28 May 2010 в 15:02
поделиться

4 ответа

Я видел это под названием Fluent Builder в нескольких местах.

В этом есть большой смысл, поскольку в основном это комбинация Fluent Interface и шаблона проектирования Builder .

8
ответ дан 5 December 2019 в 10:39
поделиться

Я бы назвал эту технику «цепочкой методов».

(в значительной степени в соответствии с википедией ...)

И да, цепочка методов может использоваться для создания плавных интерфейсов.

3
ответ дан 5 December 2019 в 10:39
поделиться

Его можно назвать Fluent-интерфейсом :

В программной инженерии свободный интерфейс (впервые предложенный Эриком Эвансом и Мартином Фаулером) является способом реализации объектно-ориентированный API таким образом, чтобы обеспечить более читаемый код.

Свободный интерфейс обычно реализуется с использованием цепочки методов для передачи контекста инструкции последующего вызова (но плавный интерфейс влечет за собой нечто большее, чем просто цепочку методов)

3
ответ дан 5 December 2019 в 10:39
поделиться

В C ++ он называется ( по крайней мере на одном сайте ) «Идиома именованных параметров».

2
ответ дан 5 December 2019 в 10:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: