
디자인 패턴은 컴퓨터공학에서 빠질 수 없는 요소이다. 작년에 소프트웨어공학을 배우면서 교수님의 커리큘럼 덕분에 디자인 패턴도 같이 공부를 하게 되었는데, 처음에는 너무 어려워서 막막했던 기억이 있다. 그러나 공부를 하면 할 수록 디자인 패턴이 개발에 있어서 매우 효율적인 방법론을 제시한다는 것을 알게 되었다. 따라서 Velog에 디자인 패턴 시리즈를 작성해 나가려 한다.
나는 이번 시리즈에서 GOF의 디자인 패턴 23가지를 기준으로 하나씩 살펴보려 한다.
반복되는 설계 문제를 해결하기 위한, 재사용 가능한 설계 템플릿이다.
예를 들어 객체를 매번 생성하는 게 귀찮거나, 코드가 너무 꼬여서 유지보수가 안 될 때… 그런 상황을 위한 베스트 프랙티스를 모아둔 게 바로 디자인 패턴이다.
❗주의할 점은 디자인 패턴은 “정답”이 아니라 “해법의 예시”라는 것. 무조건 적용하면 오히려 코드가 복잡해질 수도 있다.
GOF는 Gang of Four의 약자다.
디자인 패턴을 처음으로 체계적으로 정리한 네 명의 개발자 그룹을 말한다.
이 네 명이 1994년에 쓴 『Design Patterns: Elements of Reusable Object-Oriented Software』가 디자인 패턴의 시작이다. 이 책에선 총 23가지 패턴을 정리했고, 세 가지 범주로 나눴다:
이 시리즈에서는 각각의 패턴을 아래처럼 정리할 예정이다.
다음 글에서는 Singleton Pattern(싱글톤 패턴)을 다룰 예정이다. “객체를 하나만 만들어야 하는 이유는 뭘까?”에 대한 고민부터, 멀티스레드 환경에서의 안전한 싱글톤 구현까지 다뤄보려 한다.