
66
자바스크립트 + 리액트 디자인 패턴
이번 장에서는 디자인 패턴의 세 가지 주요 유형과 각 유형에 속하는 다양한 패턴들을 살펴보
겠습니다. 디자인 패턴은 모두 특정 객체 지향 설계의 문제나 이슈를 다룹니다. 문제를 해결
하는 방법에 있어 패턴 간에 서로 어떤 공통점을 가졌는지 찾아보고, 이를 기준으로 디자인
패턴의 유형을 분류해 보겠습니다.
6.1
배경
감마, 헬름, 존슨, 블리시드
01
는 『
GoF
의 디자인 패턴』 (프로텍미디어,
2015
)』
02
에서 디자인
패턴을 다음과 같이 설명합니다.
디자인 패턴은 공통 설계 구조의 핵심 요소를 이름 짓고 추상화하여 재사용할 수 있는 객체
지향 설계를 만드는 데 유용한 역할을 합니다. 또한 유용한 클래스와 인스턴스를 제공하여 각
각의 역할과 협업, 책임의 분배를 실현합니다.
모든 디자인 패턴은 특정 객체 지향 설계의 문제나 이슈에 초점을 맞춥니다. 또한 어디에 적
용될 수 있는지, 다른 설계 조건에도 부합하는지, 사용함으로써 얻는 장단점과 결과를 설명합
니다. 결국에는 구현이 중요하기에 구현을 위한 예시 코드도 제공합니다.
디자인 패턴이 객체 지향 설계를 다루기는 하지만, 결국 주요 객체 지향 프로그래밍 언어에서
구현되었던 실용적인 솔루션을 기반으로 합니다.
디자인 패턴은 어떤 문제를 해결하느냐에 따라 다음 세 가지 유형으로 ...