← Каталог
Рекомендации по разработке на Kotlin — Конструкторы и инициализация
Фрагмент из «Рекомендации по разработке на Kotlin»: Конструкторы и инициализация.
class User private constructor(
val id: UserId,
val name: String,
val email: Email
) {
companion object {
fun create(id: String, name: String, email: String): Result<User, Error> {
return when {
name.isBlank() -> Error.InvalidName
!email.contains('@') -> Error.InvalidEmail
else -> Success(User(UserId(id), name, Email(email)))
}
}
}
} class User private constructor(
val id: UserId,
val name: String,
val email: Email
) {
companion object {
fun create(id: String, name: String, email: String): Result<User, Error> {
return when {
name.isBlank() -> Error.InvalidName
!email.contains('@') -> Error.InvalidEmail
else -> Success(User(UserId(id), name, Email(email)))
}
}
}
}