한 층 더 파본 singleton pattern
·
Design Pattern
인터뷰 당시 땀을 삐질삐질 흘리게 만들었던 질문들이 있었습니다.그중 하나였던 주제가 singleton pattern이었는데요. 기본적인 개념은 이미 숙지하고 있었지만 추가 학습하지 않았던 것이 스노우볼이 되었고인터뷰에서 부족함을 들키며 총난타를 당했기 때문에 제대로 학습해보고 싶어졌습니다.(싱글톤 패턴을 적용해 전역에서 사용하는 값이 있다고 말했을 때이어진 후속 질문에 대한 내용입니다.)어째서 싱글톤 패턴을 적용한 인스턴스는 전역에서 접근할 수 있을까?(저는 클래스가 아닌, 함수와 변수로 패턴을 적용했습니다.) 싱글톤 인스턴스를 저장하는 변수를 싱글톤 패턴을 구현한 함수 외부에 선언해전역 스코프에 존재하는 상태로 만든다면 해당 변수는 싱글톤 패턴을 구현한 함수가 호출되는모든 컨텍스트에서 접근 가능하기 때..
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년차가 된 지금, 제가 싱글톤 패턴을 기반으로 한 코드를 작성했다는게 신기해서포스팅하게 되었습니다.싱글톤 패턴이란?클래스의 인스턴스를 하나만 생성하고, 그 인스턴스를 어디서든 접근할 수 있도록 하는 디자인 패턴인데요.단 하나의 객체만을 만들 때 사용되며 어디서든 해당 객체에 접근할 수 있다는..
Flux pattern
·
TIL
MVC pattern을 공부하며 리액트에도 MVC 패턴이 적용되는건지 서칭하던 중 Flux Pattern을 보고선 포스팅을 하게 됐다. Flux Pattern의 등장 계기 MVC pattern의 단점을 보완한 새로운 pattern MVC는 controller를 통해 model의 데이터를 조회, 갱신하고 view를 통해 최종적으로 화면에 그려내는 패턴을 지녔다. 규모가 작을 때는 상관이 없었지만, 크기가 큰 프로젝트를 진행 시 발생하는 문제점이 있었다. 프로젝트의 사이즈가 커질수록 데이터의 흐름을 파악하는 것이 힘들다는 것이다. 하나의 controller에 많은 view와 model이 연결되어져 컨트롤러의 크기가 커지게 되고 model 업데이트 -> view 업데이트 -> 다른 model 업데이트 -> 다..
MVC Design Pattern
·
TIL
개발 관련 정보를 찾다보면 꼭 한 번 씩은 MVC 패턴이라는 단어와 마주하게 된다. 디자인 패턴이란 것은 무엇이며 특히, 오늘 알아볼 MVC 패턴이란 무엇인가에 대해 알아보고자 포스팅을 했다. 디자인 패턴이란? 기본적인 설명으로는 소프트웨어를 설계할때 특정 부분에서 자주 발생하는 고질적인 문제들이 또 발생했을때 재사용할 수 있도록 하는 훌륭한 해결책이다. 라고 말하지만 저 말을 내 생각대로 풀어내자면 협업을 진행하는 개발자들이 코드의 패턴을 제작해 문제 해결과 코드의 효율성을 높이는 것이라고 본다. MVC 패턴이란 개발을 할 때, 3가지 형태로 역할을 나누어 개발하는 방법론. Model-View-Controller 의 약자로 사용자가 Controller를 조작하면 Controller는 Model을 통해서..