[kotlin] 디자인 패턴

목차

  1. 소개
  2. 싱글톤 패턴
  3. 빌더 패턴
  4. 스트래티지 패턴
  5. 참고 자료

1. 소개

디자인 패턴은 공통된 문제를 해결하기 위한 소프트웨어 디자인의 템플릿입니다. 이를 사용하면 코드를 보다 효율적으로 구성할 수 있고 유지보수가 용이해집니다. Kotlin은 자바와 100% 호환되므로, 여러 가지 디자인 패턴을 자유롭게 활용할 수 있습니다.

2. 싱글톤 패턴

싱글톤 패턴은 인스턴스가 하나만 생성되는 디자인 패턴입니다. Kotlin에서는 object 키워드를 사용하여 간단하게 싱글톤을 만들 수 있습니다.

예시:

object Singleton {
    fun doSomething() {
        println("Doing something")
    }
}

3. 빌더 패턴

빌더 패턴은 복잡한 객체를 생성하는 과정을 캡슐화하여 객체를 만들기 위한 디자인 패턴입니다. Kotlin에서는 데이터 클래스와 함께 빌더 패턴을 쉽게 구현할 수 있습니다.

예시:

data class User(val id: String, val name: String) {
    data class Builder(var id: String = "", var name: String = "") {
        fun build() = User(id, name)
    }
}

4. 스트래티지 패턴

스트래티지 패턴은 알고리즘을 정의하고 각각을 캡슐화하여 서로 교환 가능하도록 만드는 디자인 패턴입니다. Kotlin에서는 고차함수나 인터페이스를 활용하여 스트래티지 패턴을 쉽게 구현할 수 있습니다.

예시:

interface Strategy {
    fun execute()
}

class Strategy1 : Strategy {
    override fun execute() {
        println("Executing strategy 1")
    }
}

class Context(strategy: Strategy) {
    private val strategy = strategy

    fun executeStrategy() {
        strategy.execute()
    }
}

5. 참고 자료

디자인 패턴을 사용하여 Kotlin으로 보다 효율적이고 유지보수가 용이한 코드를 작성해보세요.