디자인 패턴의 첫 번째 포스트는 디자인 패턴
이란 무엇일까? 왜 쓸까? 를 중점적으로 다룰 예정입니다.
디자인 패턴은 자주 나타나는 공통의 소프트웨어 개발 문제를 확인하고 이를 다루기 위한 전략을 제공하는데,
이러한 전략은 개발자들이 해결하고자 하는 문제에 대한 효과적인 해결책으로서 오랜 기간에 걸쳐 입증됐다.
소프트웨어 아키텍트로서 재사용이 가능하면서 유연한 코드를 작성하는 것은 필수적이다.
이는 나중에도 코드를 쉽게 유지
할 수 있게 해주며,
앞으로 만나게 될 요구 사항에 대해 애플리케이션을 쉽게 확장
할 수 있게 해준다.
디자인 패턴은 공통적인 프로그래밍 문제를 피하고 해결하기 위한 시작점이다.
각각의 디자인 패턴은 요리을 위한 레시피
라고 생각할 수 있으며,
대중적인 레시피처럼, 그냥 따라만 해도 대중적인 입맛에 맞게 요리를 할 수 있다.
하지만, 개인의 입맛에 따라 레시피와는 달리 넣거나 빼거나 할 수 있다.
대개는 원래의 레시피에서 크게 벗어나려고 하지 않을 탠데, 자칫하면 요리을 망칠 수 있기 때문이다.
만들고 싶은 요리의 레시피가 없을 때가 있는 것처럼 직면한 문제를 해결하기 위한 디자인 패턴이 없는 경우도 있다.
이러한 경우에는 디자인 패턴에 관한 지식과 패턴에 담긴 근본적인 철할을 이용해 문제에 대한 효과적익 해결책을 찾을 수 있다.
디자인 패턴은 세 가지의 범주로 분류되며, 다음 포스트에서 다뤄 볼 예정이다.