Я хочу иметь возможность написать, что вызывает фабричный метод для создания экземпляра объекта вместо прямого вызова конструктора.
У меня есть фабрика с именем PersonFactory
, которая реализует метод с именем getPresonTypeOne(name: String, age:Int, address: String)
.PersonTypeOne
имеет три переменные-члены с именами name
, age
и address
.Я хочу иметь возможность написать что-то, что вызывает getPresonTypeOne
для создания экземпляра PersonTypeOne
вместо прямого вызова конструктора PersonTypeOne
.
В идеале, что-то похожее на это
class PersonTypeOne(
val name: String,
val age: Int,
val address: String) {
...
}
personTypeOne {
withName {
...
}
withAge {
...
}
withAddress {
...
}
}
Я бы хотел, чтобы этот DSL эффективно получал результат вызова, который выглядит следующим образом: personFactory.getPresonTypeOne(name, age, address)
IЯ немного осмотрелся, но я нашел только примеры того, как я мог сделать это, напрямую вызвав конструктор PersonTypeOne
.