-
Kotlin에서 Builder Pattern을?극락코딩 2023. 8. 15. 17:39
java에서는 코드의 가독성과 편의를 위해 롬복을 사용한다. 그중에서 builder를 많이 사용할 것인데... Kotlin에서는 builer Pattern을 생각보다 많이 사용하지 않는다. (물론 사용은 가능...) 그래서 예시를 함 보자
kotlin에서 builder Pattern을 사용하지 않는 이유가 무엇일까요?
1. kotlin에서는 getter없이 property 접근이 가능하다..
2. kotlin에서는 setter없이 property 값을 변경 가능하다..
위의 두가지 처럼, property를 직접 접근 가능한 이유로 builder 쓸 이유가 없어진다.
그래도 만약에 쓰고 싶다면, 아래와 같이 해보면 어떨까
import java.time.LocalDateTime /** 단순 객체 데이터를 Builder Pattern으로 구성 */ class BuilderPattern private constructor( val name: String?, val options: List<String>?, val date: LocalDateTime? ) { data class Builder( var name: String? = null, var options: List<String>? = null, var date: LocalDateTime? = null ) { fun name(name: String) = apply { this.name = name } fun options(options: List<String>) = apply { this.options = options } fun date(date: LocalDateTime) = apply { this.date = date } fun build() = BuilderPattern(name, options, date) } } fun main() { val test = BuilderPattern.Builder() .name("hello") .options(listOf("test1", "test2")) .date(LocalDateTime.now()) .build() println(test) }
'극락코딩' 카테고리의 다른 글
디프만 똑스 서버에서 캐싱 공통 모듈 만들기 (0) 2023.08.17 Http에서 국가 정보 얻기 (0) 2023.08.17 ThreadLocal을 간단하게 살펴보기 (0) 2023.08.15 ehcache 사용하기 (로컬 캐시 사용하기) (0) 2023.08.09 시멘틱 버저닝이란 무엇인가? (0) 2023.08.09