본문 바로가기
디자인패턴

[ 디자인패턴 ] 디자인 패턴이란?

by dorlback 2023. 8. 5.
반응형

디자인 패턴이란 프로그래밍에서 공통적으로 나타나는 코드 구조를 정리한것을 말한다.

대표적으로 GOF 디자인 패턴 등이 있다.

 

GOF 디자인 패턴이란?

GOF 는 "Gang of Four" 의 약자로 설명하자면 "사대천왕" 정도의 뜻인데,

이건 1995년에 Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides 이 천재 개발자들이  제시한 23가지의 패턴 이다.

 

GOF 디자인 패턴의 종류

GOF 디자인 패턴에는 크게 생성, 구조, 행동의 3가지 카테고리로 나눌 수 있다.

 

1. 생성 패턴(Creational Patterns): 객체 생성에 관련된 패턴으로, 객체의 생성 과정의 유연성과 재사용성을 증가시킵니다.

  • 싱글톤(Singleton)
  • 프로토타입(Prototype)
  • 팩토리 메서드(Factory Method)
  • 빌더(Builder)
  • 추상 팩토리(Abstract Factory)

2. 구조 패턴(Structural Patterns): 클래스나 객체를 조합해 더 큰 구조를 만드는 패턴으로, 클래스의 구조를 결정하며 결과 클래스는 구성 요소 클래스의 인터페이스를 새로 정의합니다

  • 어댑터(Adapter)
  • 브리지(Bridge)
  • 컴포짓(Composite)
  • 데코레이터(Decorator)
  • 퍼사드(Facade)
  • 플라이웨이트(Flyweight)
  • 프록시(Proxy)

3. 행동 패턴(Behavioral Patterns): 클래스의 객체들이 상호작용하는 방법과 책임을 분산하는 방법을 정의하는 패턴으로, 객체들 사이의 유기적인 행동 패턴을 통해 더 큰 협력 행위를 만들어냅니다.

  • 책임 연쇄(Chain of Responsibility)
  • 커맨드(Command)
  • 인터프리터(Interpreter)
  • 이터레이터(Iterator)
  • 중재자(Mediator)
  • 메멘토(Memento)
  • 옵저버(Observer)
  • 상태(State)
  • 전략(Strategy)
  • 템플릿 메소드(Template Method)
  • 방문자(Visitor)

각 패턴들은 그자체로 강력한 도구이고, 적절하게 사용 한다면 개발시에 효율과 유지보수 모두를 챙길수 있을거라 생각 합니다.

글이 길어져 다음 포스트에서는 각 패턴에 대해 좀 더 자세히 알아보도록 하겠습니다

 

 

 

 

728x90