One of the most salient features of our Tech Hiring culture is that there is so much bullshit. Everyone knows this. Each of us contributes his share. But we tend to take the situation for granted.
So actually the builder pattern is integrated in Kotlin itself.
Given data class User(val id: Int = 1, val name: String = "")
Then this do the same as the builder pattern would do in Java val user = User(name = "Alejandro", id =42)
The dialog function is a building block for building a DSL.
It takes as parameter a function init that you could define as having a parameter DialogBuilder and returning Unit. But instead you define the parameter as an extension function of DialogBuilder.
Hey, builder pattern is interesting....
I'm trying to understand this expression:
fun dialog(init: DialogBuilder.() -> Unit): Dialog =
DialogBuilder(init).build()
The part that is kind of weird to me is: DialogBuilder.()
Is that related to the extension functions?
So actually the builder pattern is integrated in Kotlin itself.
Given
data class User(val id: Int = 1, val name: String = "")
Then this do the same as the builder pattern would do in Java
val user = User(name = "Alejandro", id =42)
The
dialog
function is a building block for building a DSL.It takes as parameter a function
init
that you could define as having a parameterDialogBuilder
and returningUnit
. But instead you define the parameter as an extension function ofDialogBuilder
.kotlinlang.org/docs/reference/lamb...