https://kotlinlang.org logo
#russian
Title
# russian
a

a_wer1986

06/13/2018, 7:52 AM
почему бы вместо builder'а не написать DSL для создания объекта?
m

m

06/13/2018, 7:58 AM
не понял. Как это?
a

a_wer1986

06/13/2018, 8:02 AM
см пример на оф.сайте: http://kotlinlang.org/docs/reference/type-safe-builders.html
m

m

06/13/2018, 8:19 AM
И что, для каждого нужного мне класса Вьі предлагаете писать dsl?
Тогда это же будет куча кода.
y

yorlov

06/13/2018, 9:57 AM
Но ведь билдеры нужны, для случаев когда есть много разных полей и разных их комбинаций, которые надо заполнить для создания объекта, и если таких сложных объектов много, вероятно, надо еще раз подумать о дизайне своей системы
a

a_wer1986

06/13/2018, 11:21 AM
тогда вопрос в том, зачем нужен будет этот builder. как правило, в java он нужен для того, чтобы удобно было заполнять поля по их именам и код сделать более читаемым. в kotlin можно использовать именованные аргументы при создании дата-класса. в 90% случаев этого хватает. если нужно создавать какой-то сложный объект, то тут прямая дорого в написание DSL для этого конкретного случая, а это не такая частая задача. ИМХО: лепить билдер для каждого дата-класса - это будет уже перебор.
m

m

06/13/2018, 11:43 AM
Я и не говорю что нужно лепить билдер для каждого класа. Я предлагаю дать возможность програмисту-пользователю язьіка Kotlin создавать builder клас для конструиирования обьекта того класа которьій он считает нужньім так конструировать.
и если таких сложных объектов много
да даже если таких сложньіх класов не больше трех все равно писать для них dsl это перебор
2 Views