싱글톤,빌더 패턴

모바일깐부·2021년 10월 4일
0

당신이 코틀린을 사용한다면?

SingleTon


Builder

data class Bronze (
    private val mental:Int,
    private val useChamp:Int,
    private val nickName:String,
    private val tier:String?=null,
    private val mostChamp:ArrayList<String>){
    

     fun setHideTier(check:Boolean) {
         if(check==true){
             tier= "미공개"
         }else{
             this.tier=tier
         }
    }

    fun showInfo(): Bronze {
        return Bronze(mental,useChamp,nickName, tier, mostChamp)
    }

}


fun main() {
    val you = Bronze(50,20,"브론즈","브론즈1",
        arrayListOf("신드라","조이","애니비아","오리아나"))
    you.setHideTier(false)
    println(you.showInfo())
}



재미로 쓴 글입니다.

SingleTon

인스턴스가 오직 한번 생성돼서 사용할때 적용하는 패턴
ex) android context, Room DB

JAVA 코드가 호출될때 인스턴스 생성

Kotlin 프로세스가 시작될 때 인스턴스 생성

by lazy를 이용하면 호출될 때 초기화 가능

  val singleTonString by lazy{"호출 시 초기화"}

제가 깊이가 없어서 코틀린 Builder 패턴 같은 경우 사용해본 적이 없지만 (retrofit, glide 이런 거 제외) 특수한 상황에는 사용한다고 하네요.

참조 https://medium.com/@vicidroiddev/using-builders-in-kotlin-data-class-e8a08797ed56

profile
안드로이드 개발자

0개의 댓글