디자인패턴이란?

앞선 개발자들이 만들어 놓은 공통적으로 발생하는 문제에 대한 재사용 가능한 해결책 이다.

일반적으로 디자인 패턴 이라고 한다면 Gang-Of-Four 가 쓴 디자인패턴 서적의 내용이라고 보면 된다.

디자인패턴이란? 일반적인 문제를 해결하기 위한 문제해결책이다.

이정도까지만 알고 있어도 문제없을듯하다.

그래서 왜 디자인 패턴을 알아야 하나?

  1. 앞서 말한것과 같이 일반적으로 발생하는 문제 의 해결책으로 사용할 수 있기 때문에

  2. 다른 개발자와 소통하기 편해진다.

1번의 경우 앞에서 나온 내용이기에 생략한다.

2번의 경우, 다르게 생각하는 경우도 있겠지만

디자인 패턴으로 소통을 한다면

  • 해당 패턴에 사용되는 장점, 단점 등 내포되는 내용을 포괄적으로 소통가능

  • 장황하게 길어지는 설명을 단순한 단어로 처리할 수 있음

  • 좀 더 프로그램의 구조에 대해 살펴볼 수 있게 됨

  • 등등…

이와 같은 장점들이 있다고 알려져 있다…

좀 더 알아보자

일반적으로 통용되는 디자인 패턴을 일컫는

Gang-Of-Four의 디자인패턴에서는 여러가지 종류의 디자인 패턴을 소개하고 있다.

각각의 패턴은 여러가지 종류로 그룹화할 수 있겠지만

  1. 생성 패턴(Creational Pattern)
    객체의 생성을 다루는 패턴
  2. 구조 패턴(Structural Pattern)
    객체의 구성을 다루는 패턴
  3. 행동 패턴(Behavioral Pattern)
    객체의 행동, 또는 객체 간의 상호작용을 다루는 패턴
일반적으로 사용되는 패턴들을 3가지로 구분하자면 다음과 같다
생성 패턴(Creational Pattern) 구조패턴(Structural Pattern) 행동 패턴(Behavioral Pattern)
추상 팩토리 패턴
Abstract Factory Pattern
어댑터 패턴
Adapter Pattern
책임 연쇄 패턴
Chain Of Responsibility
빌더 패턴
Builder Pattern
브릿지 패턴
Bridge Pattern
커맨드 패턴
Command Pattern
팩토리 메소드 패턴
Factory Method Pattern
컴포짓 패턴
Composite Pattern
인터프리터 패턴
Interpreter Pattern
프로토타입 패턴
Prototype Pattern
데코레이터 패턴
Decorator Pattern
이터레이터 패턴
Iterator Pattern
싱글톤 패턴
Singleton Pattern
퍼사드 패턴
Facade Pattern
중재자 패턴
Mediator Pattern
플라이웨이트 패턴
Flyweight Pattern
메멘토 패턴
Memento Pattern
프록시 패턴
Proxy Pattern
옵저버 패턴
Observer Pattern
상태 패턴
State Pattern
전략 패턴
Strategy Pattern
방문자 패턴
Visitor Pattern
템플릿 메소드 패턴
Template Method Pattern

디자인 패턴이란 말그대로 패턴이기에 많은 패턴이 존재하기에… 표기되지 않은 패턴이 있을 수 있다.


참조