디자인 패턴

dobby·2024년 8월 24일
0

디자인 패턴

‘좋은 코드는 후임 개발자에게 보내는 러브레터와도 같다!’

디자인 패턴은 코드를 체계화하기 위한 공통적인 패턴을 제공해 코드를 쉽게 이해하도록 돕고, 다른 개발자와의 의사소통을 원활하게 해준다.

또한, 요구사항 속에서 반복되는 주제를 파악하여 이에 적절한 솔루션으로 이끌어준다.

디자인 패턴은 유지보수가 쉬운 코드를 작성하거나 리팩터링할 수 있는 길을 열어준다는 점에서 굉장히 중요하다.


패턴이란 무엇인가

패턴이란 소프트웨어 설계에서 반복되는 문제와 주제에 적용할 수 있는 재사용 가능한 템플릿을 뜻한다.


패턴의 이점

  • 검증되었다. 패턴은 앞서가나 개발자들의 경험과 통살의 산물이다.
  • 쉽게 재사용할 수 있다.
  • 알아보기 쉽다. 패턴은 정해진 구조와 공통 표현을 사용하여 광범위한 문제에 대해 정교한 솔루션을 제공할 수 있다.
  • 개발 과정에서 사소한 실수로 인해 생길 수 있는 큰 문제를 방지한다.
  • 특정 문제에 국한되지 않은 종합적인 해결책을 제시한다.
  • 반복을 피함으로써 전체 코드의 양을 줄일 수 있다. 불필요한 코드의 반복을 피할 수 있다. Don’t Repeat Yourself
  • 공통된 어휘를 사용하여 의사소통이 원활해진다.
  • 인기 있는 디자인 패턴은 커뮤니티의 선순환을 유발한다.

리액트에서의 디자인 패턴 예시

웹 어플리케이션에서 컴포넌트 트리는 사용자 정보나 접근 권한 같은 인증 혹은 권한과 관련된 데이터를 공유해야 하는 경우가 많다.

이전에는 상위에서 하위 컴포넌트로 데이터를 전달하여 Prop drilling을 초래하는 경우가 많았다.

하지만 리액트와 다른 여러 프레임워크는 공급자 패턴을 사용해 이러한 Prop drilling 문제를 해결한다.

리액트의 Context API를 사용하면 Context Provider를 통해 상태나 데이터를 여러 컴포넌트로 한 번에 전달할 수 있다.

공급자 패턴은 흔히 볼 수 있는 문제를 해결하는 디자인 패턴의 훌륭한 예시이다.



도서
자바스크립트 + 리액트 디자인 패턴

profile
성장통을 겪고 있습니다.

0개의 댓글