Learning Software Design Pattern (Swift)

design-pattern swift
Written on Aug 9, 2023


Introduction

소프트웨어 디자인 패턴은 소프트웨어 개발 과정에서 자주 발생하고 직면하는 문제에 대한 해결책입니다. 반복적으로 마주하는 문제에 대한 해결책을 청사진처럼 만들어두고 필요할 때마다 재사용할 수 있습니다.

본 시리즈는 Java 언어로 배우는 디자인 패턴 입문을 참고하여 작성했습니다. 본 서적에선 GoF의 23가지 디자인 패턴을 다루고 있습니다. 하지만 GoF의 분류 체계(생성, 구조, 행위)를 따르지 않고, 다른 관점으로 분류하고 있으므로 이를 따라서 작성했습니다.

글의 구성은 어떤 문제 혹은 상황에 직면했을 때 적용할 법한 패턴인지, 그리고 Swift 언어를 활용한 예시를 통해 해당 디자인 패턴을 어떻게 구현할 수 있는지에 초점을 맞춰 작성했습니다. 부족한 부분이 있다면 꾸준히 개선해나갈 예정이므로 틀린 내용 혹은 추가되었으면 하는 내용이 있다면 댓글로 남겨주시면 감사하겠습니다.

⚠️ 디자인 패턴을 갓 배운 많은 개발자는 문제를 더 간단히 해결할 수 있는 상황임에도 모든 곳에 패턴을 적용해보려는 실수를 범한다고 합니다. 문제를 해결하는데 더 간단한 방법이 있다면 굳이 디자인 패턴을 적용할 필요가 없습니다.

References