# Does the combination of lambda with a builder have known name as a Design Pattern?

**URL:** <https://discuss.elastic.co/t/does-the-combination-of-lambda-with-a-builder-have-known-name-as-a-design-pattern/371710>\
**Category:** Elasticsearch\
**Tags:** language-clients\
**Created:** [December 9, 2024, 2:48pm UTC](https://discuss.elastic.co/t/does-the-combination-of-lambda-with-a-builder-have-known-name-as-a-design-pattern/371710 "2024-12-09T14:48:37Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Hans\_Kruse](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/hans_kruse/32/54739_2.png) [@Hans\_Kruse](https://discuss.elastic.co/u/Hans_Kruse)\
**Post date:** [December 9, 2024, 2:48pm UTC](https://discuss.elastic.co/t/does-the-combination-of-lambda-with-a-builder-have-known-name-as-a-design-pattern/371710/1 "2024-12-09T14:48:37Z")

</div>

The elasticsearch-java client SDK uses the combination of a lambda with a builder a lot, e.g.:

```Java
 esClient.something(somethingBuilder -> somethingBuilder
.propertyA(valueA)
.propertyB(valueB)
)....;

```

Is there an established design pattern name for this combination that I can use to refer to this construction?

I used it in our own code too now.

---

<div class="post-metadata">

**Author:** ![ltrotta](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/ltrotta/32/124003_2.png) [@ltrotta](https://discuss.elastic.co/u/ltrotta)\
**Post date:** [December 9, 2024, 3:28pm UTC](https://discuss.elastic.co/t/does-the-combination-of-lambda-with-a-builder-have-known-name-as-a-design-pattern/371710/2 "2024-12-09T15:28:50Z")

</div>

Hey! I don't think there's an official name for this, we call it "functional builder", but I've also seen it mentioned as "advanced builder pattern".
