디자인패턴

디자인패턴

소프트웨어 설계에서 공통적으로 발생하는 문제를 다루는 보편적이고 반복해서 사용할 수 있는 방법. 문제를 해결하기 위한 설명이나 템플릿으로 보면 된다.

디자인패턴을 사용할 때 장점

개발 절차의 속도를 높일 수 있다.
재사용 가능한 구조적 개념으로 구성되어 있기 때문에 믿을 수 있다.

디자인 패턴을 사용하기 위한 조건

  1. 주어진 문제를 명확, 세밀하게 이해한다.
  2. 디자인 패턴이 문제에 일치하는지 다시한번 확인해본다.
  3. 다른 패턴들 사이에서 관계성을 찾고 변경해야할 사항을 결정한다.

패턴 여러가지의 디자인 패턴은 3가지의 범주로 분류된다.

범주는 아래와 같다.

  1. 생성패턴 : 객체생성 메커니즘을 다룬다. 객체의 생성을 다루는 객체 생성 패턴, 클래스 인스턴스 생성을 다루는 클래스 생성 패턴으로 분류된다.
    ex: Factory, Abstract Factory, Builder, Protype, Singleton 패턴.

  2. 구조패턴: 객체들과 클래스들이 커다란 구조를 형성하기 위해 결합될 수 있는 방법을 설명한다. 클래스패턴은 상속의 도움을 받아 추상화를 설명하고 어떻게 프로그램에 더 유용한 인터페이스를 제공할 수 있는지 설명하는것이고, 객체 패턴은 객체들이 크고 더 복잡한 구조를 형성하기 위해 연결되고 구성되는지 설명한다.
    ex: Adapter, Bridge, Composite, Decorator, Flyweight, Proxy 패턴

  3. 행위패턴: 객체 사이의 상호 작용과 관련된 것들이다. 이들은 객체간에 공통의 통신 패턴을 파악하고 이러한 패턴을 실현한다.
    ex: Chain of Responsibility, Command, Interpreter, iterator, Mediator, Memento, Observer, State, Strategy,Template, Vistor 패턴

Share