‘좋은 코드는 후임 개발자에게 보내는 러브레터와도 같다!’
디자인 패턴은 코드를 체계화하기 위한 공통적인 패턴을 제공해 코드를 쉽게 이해하도록 돕고, 다른 개발자와의 의사소통을 원활하게 해준다.
또한, 요구사항 속에서 반복되는 주제를 파악하여 이에 적절한 솔루션으로 이끌어준다.
디자인 패턴은 유지보수가 쉬운 코드를 작성하거나 리팩터링할 수 있는 길을 열어준다는 점에서 굉장히 중요하다.
패턴이란 소프트웨어 설계에서 반복되는 문제와 주제에 적용할 수 있는 재사용 가능한 템플릿을 뜻한다.
Don’t Repeat Yourself
웹 어플리케이션에서 컴포넌트 트리는 사용자 정보나 접근 권한 같은 인증 혹은 권한과 관련된 데이터를 공유해야 하는 경우가 많다.
이전에는 상위에서 하위 컴포넌트로 데이터를 전달하여 Prop drilling
을 초래하는 경우가 많았다.
하지만 리액트와 다른 여러 프레임워크는 공급자 패턴
을 사용해 이러한 Prop drilling 문제를 해결한다.
리액트의 Context API를 사용하면 Context Provider를 통해 상태나 데이터를 여러 컴포넌트로 한 번에 전달할 수 있다.
공급자 패턴은 흔히 볼 수 있는 문제를 해결하는 디자인 패턴의 훌륭한 예시이다.