<aside> <img src="/icons/list-indent_lightgray.svg" alt="/icons/list-indent_lightgray.svg" width="40px" />

Table Of Contents

</aside>

디자인 패턴이란?

프로그램 설계시 자주 발생하는 문제들을 객체 간의 상호 관계를 통해 해결할 수 있도록 정리한 검증된 설계 해법이다. 라이브러리와 프레임워크를 만드는 기초 원리로 활용된다.

디자인 패턴을 배우는 이유

  1. 문제 해결의 영감
  2. 효율적인 소통

디자인 패턴의 종류

분류 설명 주요 패턴
**생성 패턴
(Creational Patterns)** 객체를 생성하는 방법에 관한 패턴 싱글톤(Singleton) ⭐⭐⭐
팩토리(Factory) ⭐⭐⭐
・ 추상 팩토리(Abstract Factory)
・ 빌더(Builder)
・ 프로토타입(Prototype)
**구조 패턴
(Structural Patterns)** 객체와 클래스를 조합하여 더 큰 구조를 유연하고 효율적으로 만드는 패턴 프록시(Proxy) ⭐⭐⭐
・ 어댑터(Adapter)
・ 브리지(Bridge)
・ 복합체(Composite)
・ 데코레이터(Decorator)
・ 퍼사드(Facade)
・ 플라이웨이트(Flyweight)
**행동 패턴
(Behavioral Patterns)** 객체나 클래스 간의 알고리즘과 책임 분배에 관한 패턴 이터레이터(Iterator) ⭐⭐⭐
옵저버(Observer) ⭐⭐⭐
전략(Strategy) ⭐⭐⭐
・ 책임 연쇄(Chain of Responsibility)
・ 커맨드(Command)
・ 중재자(Mediator)
・ 메멘토(Memento)
・ 상태(State)
・ 템플릿 메서드(Template Method)
・ 비지터(Visitor)

이외에도 수천가지 디자인패턴이 있다. (MVC, Flux 패턴 등)


라이브러리와 프레임워크의 차이

라이브러리(Library)

공통으로 사용될 수 있는 특정한 기능들을 모듈화한 것으로, 개발자가 필요한 부분만 선택해서 사용할 수 있다.

특징