개발자 노트

디자인 패턴이란? 본문

디자인패턴

디자인 패턴이란?

jurogrammer 2020. 10. 11. 12:15

What's a design pattern

정의

소프트웨어 디자인에서 흔히 발생하는 전형적인 해결방법입니다.

되풀이해서 발생하는 디자인 문제를 해결하기 위해 커스터마이즈할 수 있는 청사진과 같다!

특징

  1. 특정 코드가 아닌, 특정 문제를 풀기 위한 일반적인 개념
    • 패턴의 세부사항을 따라하여 내 프로그램에 맞는 해결방법을 구현함
  2. 알고리즘이 아니다
    • 알려진 문제에 대한 전형적인 해결책이라 보이기 때문에 알고리즘과 착각할 수 있음.
    • 하지만 알고리즘은 명백한 행동인 반면에, pattern은 해결책에 대한 high-level 설명임
      • 따라서 동일한 패턴이나, 서로 다른 프로그램에서 쓰여진 코드는 다를 수 있음

따라서, 알고리즘은 요리법같이 목표를 달성하기 위한 명확한 단계가 있는 반면, 디자인 패턴은 청사진같이 결과가 어떤지, 그 특징이 뭔지는 볼 수 있으나 정확한 구현의 순서는 자신에게 달려있다.

What does pattern consist of?

이는 앞으로 디자인 패턴에 대해 설명하기 위한 요소들!

Intent

이 요소는 간략히 문제와 해결방법은 서술

Motivation

패턴을 있도록 해주는(pattern make possible) 더 자세한 문제와 해결방법 서술

Structrue

클래스의 구조는 패턴의 각 부분을 보여주고 그들이 어떻게 연관되어 있는 지 보여줌

Code example

인기있는 언어중 하나로 패턴에 내재된 아이디어를 쉽게 설명하기 위해 코드로 설명

반응형
Comments