Реализации на Kotlin

Builder

Общая реализация на языке Kotlin

Реализация класса машины и ее компонентов

class Car(
    val body: Body,
    val engine: Engine,
    val suspension: Suspension
)

Реализация Builder и Director

interface IBuilder {
    fun withBody(body: Body): IBuilder
    fun withEngine(engine: Engine): IBuilder
    fun withSuspension(suspension: Suspension): IBuilder
    fun build(): Car
}
fun main() {
    val director = Director(CamryBuilder())
    val camry = director.create()

    println(
        "Director created camry! " +
                "Body: ${camry.body.bodyType}, " +
                "engine: ${camry.engine.capacity}, " +
                "suspension: ${camry.suspension.type}"
    )
}

Last updated

Was this helpful?