똑같은 삽질은 2번 하지 말자

[책을 읽자] 자바스크립트 + 리액트 디자인 패턴 본문

책을 읽자

[책을 읽자] 자바스크립트 + 리액트 디자인 패턴

곽빵 2024. 10. 5. 17:00

개요

이하의 책을 읽으면서 얻은 지식을 정리하고자 한다.

 

디자인 패턴 소개

패턴이란?

  • 검증끝: 과거부터 이어져온 소프트웨어의 개발의 특정 문제를 해결하기 위해 오랜 시간 동안 검증된 효과적인 방법
  • 재사용성: 사용자의 요구에 맞춰 적용할 수 있으므로 재사용성이 뛰어나다
  • 가독성: 패턴은 정해진 구조와 공통표현을 사용하므로 알아보기 쉽다.

패턴의 이점

  • 사소한 실수로 인한 큰 문제를 방지
  • 반복을 피할 수 있다.
  • 공통된 어휘를 사용함으로 의사소통이 원활해진다.

리액트에서의 패턴의 예

공급자 패턴(Provider Pattern)도 하나의 디자인 패턴인데 리액트에서는 Context API가 이에 해당된다. 페이지 컴포넌트에서 아주 작은 컴포넌트까지 데이터를 전달할 때 중간에 거쳐야 할 컴포넌트가 많아지면 Props Drilling을 해야 하는데 이는 거치는 컴포넌트에 전부 프롭스를 설정해야 함으로써 유지보수가 어려운 코드가 만들어진다. 이를 해결할 수 있는데 공급자 패턴(Context API) 인것이다.

 

패턴의 종류

  • 생성 패턴
    • 개요: 주어진 상황에 적합한 객체를 생성하는 방법
    • 목표: 기본적인 객체 생성 방식이 프로젝트의 복잡성을 증가시킬 수 있기에 생성 패턴은 이 과정을 제어하여 문제를 해결하는 것이다.
    • 예시: 생성자, 팩토리, 추상, 프로토타입, 싱글톤, 빌더패턴
  • 구조패턴
    • 개요: 객체의 구성과 객체간의 관계를 인식하는 방법
    • 목표: 시스템의 어느 한 부분이 변경되더라도 다른 부분에는 영향이 가지 않도록 도와주며 설계 목적에 맞지 않는 부분을 개선하는 것
    • 예시: 데코레이터, 퍼사드, 플라이웨이트, 어댑터, 프록시패턴
  • 행위패턴
    • 개요: 시스템 내의 객체 간 커뮤니케이션을 개선하거나 간소화하는 방법
    • 목표: 객체 간의 공통적인 커뮤니케이션 패턴을 감지하고 책임을 분배함으로써 커뮤니키에션의 유연성을 높이고 객체의 행위를 추상화 하는것
    • 예시: 이터레이터, 중재자, 관찰자, 방문자패턴

'책을 읽자' 카테고리의 다른 글

[책을 읽자] One Thing  (0) 2025.01.04
[책을 읽자] 미움받을 용기  (0) 2024.06.14
Comments