TOC
참고
본 내용은 자바스크립트+리액트 디자인 패턴(링크) 를 읽고 정리한 내용입니다. 책의 내용과 함께 개인적인 의견과 생각을 담아 작성하였습니다.
들어가며
디자인 패턴은 어떤 문제를 해결하는지에 따라 크게 3가지 유형으로 나눌 수 있다.
분류 | 생성 패턴 | 구조 패턴 | 행위 패턴 |
---|---|---|---|
목적 | 주어진 상황에 적합한 객체 생성 방법 | 객체의 구성과 각 객체 간의 관계 인식 방법 | 객체 간 커뮤니케이션을 개선하거나 간소화하는 방법 |
특징 | 객체 생성은 복잡성을 증가시킬 수 있어 이를 제어하여 문제를 해결하고자 함 | 시스템의 한 부분이 변경되어도 다른 부분에 영향을 주지 않도록 도움 | 커뮤니케이션의 유연성을 높이고, 객체의 행위를 추상화 |
예시 | 생성자, 팩토리, 추상, 프로토타입, 싱글톤, 빌더 | 데코레이터, 퍼사드, 플라이웨이트, 어댑터, 프록시 | 이터레이터, 중재자, 관찰자, 방문자 |
나의 경험
정보처리기사 자격증 공부할 때 단골 문제로 나와서 외웠던 기억이 나요. 그런데 당시에는 이 3개 분류에 어떤 디자인 패턴들이 있는지가 중요했고, 어떤 디자인 패턴이 어떤 기능을 하고 어떤 구조로 이루어져 있는지까지는 중요하지 않았어요. 자격증은 어찌저찌 통과했지만, 남는 게 없는 기분이었어요. 개발 공부를 시작하면서 디자인 패턴이라는 용어가 종종 등장했고, 유튜브에 쳐보며 코드로 디자인 패턴들을 구성한 영상을 알게 되었어요. 이름으로만 알고 있던 디자인 패턴들의 구조와 구현을 알 수 있었던 경험이었어요.