Compound pattern을 적용해 공통 모달을 만들어보자
·
Design Pattern
공통 모달인데.. 이제 재활용이 안 되는..새로운 프로젝트를 진행하며 공통 모달 제작이 필요했습니다.MVP 단계이기도 했고, 그에 따라 수시로 내용이 변경되어모달에 사용되는 데이터를 인자로 전달받게만 처리하면1차적인 공용 컴포넌트를 완성할 수 있을 것으로 전망했지만, 이는 착각이었습니다. 수시로 변경되는 것은 내용뿐이 아닌 디자인도 포함되었으니까요.1차로 작성한 모달 컴포넌트만약 공용 모달 컴포넌트를 사용하는 모든 곳에서 디자인과 기능이 동일하다면prop을 전달받아 관리하는 공용 컴포넌트로 사용해도 문제가 없습니다. 하지만 특정 페이지들에서만 색상을 다르게 한다던지,모바일 환경에서의 레이아웃 변경 등이 필요하다면다시 컴포넌트를 만들어야 하므로, 상당히 불편함을 야기합니다. 즉, 추상화가 되어있지 않다고 ..
완전한 싱글톤 패턴으로 리팩토링을 진행해보자
·
Design Pattern
2024.05.23 - [TIL] - 그저 작성했는데 싱글톤 패턴이었던 것에 대하여 그저 작성했는데 싱글톤 패턴이었던 것에 대하여오늘도 평화로움을 바라며 코딩하던 날이었습니다.서버로부터 전달받은 토큰을 변수에 캐싱하는 로직을 포함해 PR했는데요.하나의 인스턴스로 관리한다는 키워드로 구글링을 할 때,여러 블로betterpalywon.tistory.com이전 포스팅인 싱글톤 패턴 구현에 이어 제가 구현한 싱글톤 패턴의 문제점과완전한 싱글톤 패턴으로 변경해야 하는 이유, 그리고 리팩토링했던 방법을 설명해보려 합니다.이전 싱글톤 패턴의 문제점인스턴스의 내부 상태에 접근해 변경이 가능하다! 이전 코드를 예제로 들어보겠습니다.let userInstance = null;const createUser = () => {..
그저 작성했는데 싱글톤 패턴이었던 것에 대하여
·
Design Pattern
오늘도 평화로움을 바라며 코딩하던 날이었습니다.서버로부터 전달받은 토큰을 변수에 캐싱하는 로직을 포함해 PR했는데요.하나의 인스턴스로 관리한다는 키워드로 구글링을 할 때,여러 블로그가 있었지만 제로초 블로그를 통해 제 코드가 싱글톤 패턴이라는 것을 깨닫고해당 디자인 패턴에 대해 알게되었습니다. 사실, 제가 처음 개발 분야에 입문하고 여러 인터뷰에 참여할 당시싱글톤 패턴에 대해서 알고있느냐는 질문을 몇 번 받았는데요.2년차가 된 지금, 제가 싱글톤 패턴을 기반으로 한 코드를 작성했다는게 신기해서포스팅하게 되었습니다.싱글톤 패턴이란?클래스의 인스턴스를 하나만 생성하고, 그 인스턴스를 어디서든 접근할 수 있도록 하는 디자인 패턴인데요.단 하나의 객체만을 만들 때 사용되며 어디서든 해당 객체에 접근할 수 있다는..