[Swift] 디자인 패턴 (Design Patterns) - 디자인 패턴이란?

Fezravien·2021년 10월 11일
0

Design Patterns

목록 보기
2/3
post-thumbnail

디자인 패턴의 첫 번째 포스트는 디자인 패턴이란 무엇일까? 왜 쓸까? 를 중점적으로 다룰 예정입니다.

디자인 패턴이란?

디자인 패턴은 자주 나타나는 공통의 소프트웨어 개발 문제를 확인하고 이를 다루기 위한 전략을 제공하는데,
이러한 전략은 개발자들이 해결하고자 하는 문제에 대한 효과적인 해결책으로서 오랜 기간에 걸쳐 입증됐다.


디자인 패턴의 장점

  • 개발 프로세스 속도를 크게 높일 수 있다.
  • 유지하기 쉬운 일관된 코드를 얻을 수 있다.
  • 다른 개발자가 행당 코드가 어떠한 일을 하는지 이해하는 데 도움을 줄 수 있다.

디자인 패턴에 담긴 두 가지 철학

  • 재사용
  • 유연성

소프트웨어 아키텍트로서 재사용이 가능하면서 유연한 코드를 작성하는 것은 필수적이다.

이는 나중에도 코드를 쉽게 유지할 수 있게 해주며,
앞으로 만나게 될 요구 사항에 대해 애플리케이션을 쉽게 확장할 수 있게 해준다.


디자인 패턴은 요리을 위한 레시피다.

디자인 패턴은 공통적인 프로그래밍 문제를 피하고 해결하기 위한 시작점이다.

각각의 디자인 패턴은 요리을 위한 레시피라고 생각할 수 있으며,
대중적인 레시피처럼, 그냥 따라만 해도 대중적인 입맛에 맞게 요리를 할 수 있다.
하지만, 개인의 입맛에 따라 레시피와는 달리 넣거나 빼거나 할 수 있다.
대개는 원래의 레시피에서 크게 벗어나려고 하지 않을 탠데, 자칫하면 요리을 망칠 수 있기 때문이다.

만들고 싶은 요리의 레시피가 없을 때가 있는 것처럼 직면한 문제를 해결하기 위한 디자인 패턴이 없는 경우도 있다.
이러한 경우에는 디자인 패턴에 관한 지식과 패턴에 담긴 근본적인 철할을 이용해 문제에 대한 효과적익 해결책을 찾을 수 있다.

디자인 패턴은 세 가지의 범주로 분류되며, 다음 포스트에서 다뤄 볼 예정이다.

  • 생성 패턴(Creational patterns) : 생성 패턴은 객체의 생성을 지원한다.
  • 구조 패턴(Structural patterns) : 구조 패턴은 타입과 객체 컴포지션과 관련이 있다.
  • 행위 패턴(Behavioral patterns) : 행위 패턴은 타입 간의 소통과 관련이 있다.
profile
꺼진 뷰도 다시보자.

0개의 댓글