Design Pattern

이유석·2022년 5월 25일
0

Design Pattern

목록 보기
1/10
post-thumbnail

Design Pattern

개발을 하다보면 이전에 사용했던 코드와 유사한 기능을 구현할때 이전의 코드를 들여다보는 경험을 종종 하게 됩니다.

이때 이전의 코드를 그대로 복사하여 사용하기도 하고, 변형해서 쓰기도 하고, 혹은 상황에 맞지 않다고 판단하여 다른 방향의 구현을 고민하기도 합니다.

디자인 패턴은 설계자가 재사용이 가능한 설계는 선택하도록 하고, 재사용을 방해하는 설계는 배제하도록 도와줍니다.

정의

  • 기존 환경 내에서 반복적으로 일어나는 문제들을 어떻게 풀어나갈 것인가에 대한 일종의 솔루션 같은 것

분류

  • GoF의 디자인 패턴 에서는 객체지향적 디자인 패턴의 카테고리를 3가지로 구분하고 있습니다.
    • Creational Pattern (생성 패턴) : 객체의 생성 방식 결정
    • Structural Pattern (구조 패턴) : 객체간의 관계를 조직
    • Behavioral Pattern (행위 패턴) : 객체의 행위를 조직, 관리, 연합

각 패턴별 속성 항목

1. Pattern Name (패턴 이름)

  • 패턴의 이름은 해당 패턴의 솔루션을 담고 있는 경우가 많습니다.
    따라서 설계에 대한 생각을 더욱 쉽게 할 수 있고, 개발자들 간의 의사소통이 원활해집니다.

2. Problem (문제)

  • 언제 패턴을 사용하는가를 서술하며 해결할 문제와 그 배경을 뜻합니다. (예시가 존재합니다.)

3. Solution (해법) & Implementation (구현)

  • Problem(문제)에 대하여 어떻게 해결할 수 있을 것인가에 대한 해결책을 제시합니다.
    (예제 코드가 존재합니다.)

4. Consequence (결과)

  • 디자인 패턴을 적용해서 얻는 결과와 장단점을 서술합니다.
profile
https://github.com/yuseogi0218

0개의 댓글