Frontend Archive

디자인패턴

디자인패턴 주제로 정리한 글 5개입니다.

아티클 목록

[디자인 패턴] 팩토리 패턴과 프로토타입 패턴을 JS로 이해해보자! (feat. 메모리 할당량)

[디자인 패턴] 팩토리 패턴과 프로토타입 패턴을 JS로 이해해보자! (feat. 메모리 할당량)

JS를 공부한 프론트엔드 개발자에겐 특히나 프로토타입 패턴을 한 번쯤 지나친 개념이라고 생각합니다. 팩토리 패턴은 너무나 유명하구요! 두 패턴 모두 개념 자체는 어렵지 않다 보니 아주 기본적인 개념일 뿐 실제 서비스에선 크게 의미를 두는 패턴은 아니라고 생각할 수 있습니다. 하지만, 이 두 패턴의 본질을 파악하여 어마어마한 성능 개선을 한 사례가 있습니다. 바로 Tanstack Table V9에서 메모리 사용량을 90%나 개선한 사례입니다!지금부터 팩토리 패턴, 프로토타입 패턴에 대한 간단한 개념을 Tanstack Table에서 쓸거 같은 예시 코드로 이해해 보고 어떻게 메모리 사용량을 줄일 수 있었는지 알아보도록 합시다!1. 팩토리(Factory) 패턴?팩토리 패턴은 말 그대로 '객체를 찍어내는 공장'..

[디자인 패턴] 프록시(Proxy) 패턴을 JS로 이해해보자! (feat. 캐싱)

[디자인 패턴] 프록시(Proxy) 패턴을 JS로 이해해보자! (feat. 캐싱)

개발자라면 프록시(Proxy)라는 단어는 뭔가 익숙할 겁니다. 하지만 이 말의 의미가 정확히 뭔지, 그리고 프록시 패턴은 또 뭔지 설명하기는 쉽지 않다고 생각이 듭니다. 이제부터 차근차근 JS를 통해서 프록시 패턴에 대해 파헤쳐보도록 하겠습니다! 1. Proxy 패턴이란?먼저 Proxy는 대리(행위)나 대리권, 대리 투표, 대리인 등을 뜻하는 단어입니다. 즉, 프록시 패턴은 대신해 주는 무엇인가 있는 패턴이지 않을까 유추해 볼 수 있을 겁니다.그렇습니다! 프록시 패턴은 어떤 값에 접근하는 과정 앞단에 프록시(대리인)을 두어 진짜 객체가 아닌 대리인이 대신 일을 처리하는 패턴을 뜻 합니다!프록시 패턴은 보안, 캐싱, 데이터 유효성 검사, 지연 초기화, 로깅 등등 다양한 곳에서 활용할 수 있습니다.간단한 ..