반디북
자바스크립트 + 리액트 디자인 패턴
Ch1
도은

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

  • 디자인 패턴은 공통적인 패턴을 제공 → 코드를 쉽게 이해하도록 돕고, 다른 개발자와의 의사소통을 원활하게
  • 이전에 비슷한 문제를 마주하여 최적화된 방법을 풀이해 낸 사람들의 경험에 기댈 수도 있다.
  • 디자인 패턴은 유지보수가 쉬운 코드를 작성하거나 리팩터링할 수 있는 길을 열어준다.
  • 이 책에서는 자바스크립트를 최적화할 수 있는 새로운 디자인 패턴 & 프레임워크에 특화된 디자인 패턴에 대해서도 다룬다.

1.1 디자인 패턴의 역사

  • 특정 디자인 구조를 반복해서 사용하면 최적의 효과를 얻을 수 있다는 사실
  • 에리히 감마, 리차드 헬름, 랄프 존슨, 존 블리시드가 저술한 GoF의 디자인 패턴은 1995년에 출간된 디자인 패턴에 대한 책
    • 소프트웨어 엔지니어링 분야에서 최초이자 가장 상징적인 저서

1.2. 패턴이란 무엇인가

  • 패턴이란, 소프트웨어 설계에서 반복되는 문제와 주제에 적용할 수 있는 재사용 가능한 템플릿
  • 디자인 패턴이 개발자들에게 유용한 이유
    • 검증되었다
    • 쉽게 재사용할 수 있다
    • 알아보기 쉽다
    • 개발 과정에서 사소한 실수로 인해 생길 수 있는 큰 문제를 방지한다
    • 특정 문제에 국한되지 않은 종합적인 해결책을 제시한다
    • 반복을 피함으로써 전체 코드의 양을 줄일 수 있다
    • 공통된 어휘를 사용하여 의사소통이 원활해진다
    • 인기 있는 디자인 패턴은 커뮤니티의 선순환을 유발한다

📝 NOTE

  • 패턴은 완벽한 해결책은 아니지만
  • 체계화된 방법을 제시하는 것뿐
  • 따라서 좋은 패턴을 선택하려면 좋은 설계자가 여전히 필요

1.3 디자인 패턴의 일상 활용 사례

  • 리액트를 사용해 본 적이 있다면 공급자 패턴(Provider Pattern)을 접해보았을 것
  • 컴포넌트 트리는 데이터를 공유해야 하는 경우 다수
  • 공급자 패턴을 사용하면 이런 Prop Drilling 문제를 해결
  • 공급자 패턴은 흔히 볼 수 있는 문제를 해결하는 디자인 패턴의 훌륭한 예시