[kotlin] 디자인 패턴과 설계 원칙의 차이

디자인 패턴

디자인 패턴은 소프트웨어 개발에서 특정 문제를 해결하기 위한 재사용 가능한 솔루션입니다. 예를 들어, Singleton 패턴은 오직 하나의 인스턴스만 생성되는 클래스를 정의하는데 사용됩니다. Observer 패턴은 객체 간에 이벤트 및 상태 변경을 통지하기 위해 사용됩니다. 이러한 패턴들은 특정 상황에서 효율적으로 문제를 해결하기 위해 디자인 되었습니다.

설계 원칙

설계 원칙은 코드의 유지보수성, 가독성, 유연성과 같은 측면을 강화하기 위한 원칙들을 의미합니다. SOLID 원칙은 객체지향 설계의 다섯 가지 원칙으로, 단일 책임 원칙, 개방/폐쇄 원칙, 리스코프 치환 원칙, 인터페이스 분리 원칙, 의존 역전 원칙을 포함합니다. 이러한 원칙들은 소프트웨어 시스템을 더 유지보수하기 쉽고 확장성 있는 형태로 설계하는데 도움을 줍니다.

즉, 디자인 패턴은 특정 문제를 해결하기 위한 구체적인 솔루션이며, 설계 원칙은 코드를 더 좋은 상태로 만들기 위한 지침과 원칙입니다. 함께 사용되면, 이 둘은 더 나은 소프트웨어 구조를 구축하는 데 도움이 될 것입니다.

다음은 Kotlin에서 Singleton 패턴을 구현한 예시입니다:

object Singleton {
    init {
        // 초기화 코드
    }

    fun doSomething() {
        // 동작 코드
    }
}

참고 문헌: Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides Robert C. Martin, “Design Principles and Design Patterns”