Factory Methods with companion object
Implement factory patterns using companion object and invoke operator.
The Factory Method Pattern
Factory methods create objects with meaningful names and logic, hiding constructor complexity. Kotlin's companion object is the ideal home for them.
Private Constructor + Factory
Make the constructor private and provide factory methods via companion object.
class Token private constructor(val value: String) {
companion object {
fun generate() = Token(java.util.UUID.randomUUID().toString())
fun fromString(s: String) = Token(s.trim())
}
}
val t = Token.generate()All lessons in this course
- object Declaration: Kotlin Singletons
- companion object: Static-like Members in Kotlin
- Anonymous Objects and Object Expressions
- Factory Methods with companion object