컴퓨터 공학 & 통신

[개념 정리] 디자인 패턴

왈왈디 2023. 7. 3. 09:36
728x90

디자인 패턴

디자인 패턴이란 프로그램을 설계할 때 발생했던 문제점들을

객체 간의 상호 관계 등을 이용하여 해결할 수 있도록 '규약' 형태로 만들어 놓은 것이다.

디자인 패턴은 라이브러리나 프레임워크를 만드는 데 기촉적인 원리가 되며,

지금도 많은 라이브러리, 프레임워크가 어떠한 디자인패턴을 기반으로 만들어지고 있다.

예를 들어 passport.js 라이브러리는 전략 패턴을 사용한다.

 

의의

디자인 패턴을 공부하여 알고 있다면

다양한 형태의 문제를 마주하였을 때 어떠한 디자인 패턴을 활용하여 문제를 해결할 지 영감을 얻을 수 있으며,

팀원들과 협업할 때 서로 빠른 의사소통이 가능하다.

 

종류

디자인 패턴은 크게 생성 패턴, 구조 패턴, 행동 패턴 3가지로 구분된다.

 

생성 패턴

생성 패턴은 객체 생성 방법이 포함된 디자인 패턴이다.

싱글톤, 팩토리, 추상 팩토리, 빌더, 프로토타입패턴이 있다.

 

구조 패턴

구조 패턴은 객체, 클래스 등으로 큰 구조를 만들 때 유연하고 효율적인 방법이 포함된 디자인 패턴이다.

프록시, 어댑터, 브리지, 복합체, 데코레이터, 퍼사드, 플라이웨이트 패턴이 있다.

 

행동 패턴

겍체나 클래스 간의 알고리즘, 책임 할당에 관한 디자인 패턴이다.

이터레이터, 옵저버, 전략, 책임 연쇄, 커맨드, 중재자, 메멘토, 상태, 템플릿 메서드, 비지터 패턴이 있다.

 

참고: inflearn 강의 'CS 지식의 정석 - 큰돌'

728x90