Builder模式有一个具体的术语,每个方法返回“this”吗? [英] Is there a specific term for the Builder pattern where each method returns `this`?
问题描述
pizzaBuilder.createNewPizzaProduct();
pizzaBuilder.buildDough();
pizzaBuilder.buildSauce();
pizzaBuilder.buildTopping();
披萨p = pizzaBuilder.getPizza();
修改后的Builder模式有一个特定的名称,如下所示:
Pizza p = pizzaBuilder.createNewPizzaProduct()。buildDough()。buildSauce()。buildTopping();
最好在jQuery库中看到,您可以执行以下操作:
$('li.item-a')。parent()。css('红色');
其中每个方法(包括初始$())都返回一个jQuery对象,通常代表一组页面元素,每个方法以某种方式对该集合进行操作。
我看到这被称为生成器几个地方。
这很有意义,因为它基本上是一个 Fluent Interface 和 Builder 设计模式。
I know this is the Builder pattern, but it's a modified form of it. Whereas the Wikipedia article on Builder pattern gives the example:
pizzaBuilder.createNewPizzaProduct();
pizzaBuilder.buildDough();
pizzaBuilder.buildSauce();
pizzaBuilder.buildTopping();
Pizza p = pizzaBuilder.getPizza();
Is there a specific name for the modified Builder pattern which looks like:
Pizza p = pizzaBuilder.createNewPizzaProduct().buildDough().buildSauce().buildTopping();
This is best seen in the jQuery library, where you can do something like:
$('li.item-a').parent().css('background-color', 'red');
Where each method, including the initial $(), returns a jQuery object which typically represents a set of page elements, and each method operates on that set in some way.
I've seen this called a Fluent Builder several places.
This makes a lot of sense, since it's basically a combination of a Fluent Interface and the Builder design pattern.
这篇关于Builder模式有一个具体的术语,每个方法返回“this”吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!