4 ms·
Partial instantiation is cool and all, but tbh I prefer just capturing the initial incomplete attributes in one complete record, pass that around, and then inst
by bedobi 2y ago
Partial instantiation is cool and all, but tbh I prefer just capturing the initial incomplete attributes in one complete record, pass that around, and then instantiate the real thing when you have all attributes
data class IncompletePerson(val name: String)
data class Person(
val name: String,
val email: String
)
or
data class Person(
val initialAttributes: IncompletePerson,
val email: String
)
if you want to nest it.
if you're the type to instead do this
data class Person(
val name: String,
val email: String?
)
I never want to work with your code. Now, there's no disambiguation between the complete object and the incomplete one, I always have to check before doing anything with it, and people will inevitably try send an incomplete object someplace that can't handle it and generate bugs.
- skybrian 2y agoHow would you define a cyclic data structure?