design
2 posts
MVC 패턴

MVC Pattern 관심사의 분리(SoC, separation of concern)에서부터 나온 패턴 관심사 분리로 코드의 단순화 및 유지보수의 더 높은 수준의 자유가 생긴다. 관심사가 잘 분리될 때 독립적인 개발과 업그레이드 외에도 모듈 재사용을 위한 더 높은 자유가 있다. 모듈이 인터페이스 뒤에서 이러한 관심사의 세세한 부분을 숨기기 때문에 자유도가 높아짐으로써 다른 부분의 세세한 사항을 모르더라도, 또 해당 부분들에 상응하는 변경을 취하지 않더라도 하나의 관심사의 코드 부분을 개선 및 수정할 수 있다. MVC Model 데이터. json 또는 데이터 모델 정의. 일반적으로 데이터를 처리하는 로직과 함께! View 화면, html, 레이아웃 이라고 생각하면 된다. Controller 이벤트 핸들러와 이벤트를 처리하는 로직이 있는 곳. 데이터랑 뷰 이어주는 역할. 요청이(이벤트 발생) 오면 모델에 적절한 로직을 실행하도록 한다. 대표적인 MVC Pattern FrameWork …

April 09, 2022
design
Flux 패턴

기존 MVC의 문제점 mvc 프로젝트 규모가 커질수록 빠르게 복잡해진다. feature 추가될 때마다 모델과 뷰를 연결하는 복잡성이 증가한다. 데이터 간의 의존성과 연쇄적인 갱신은 뒤얽힌 데이터 흐름을 만들고 예측할 수 없는 결과로 이끌게 된다. 새로온 개발자가 합류하면, 너무 복잡해서 코드만 보고 해석이 힘들다. (유지비용 증가) 복잡성이 증가할 수록 예측 불가능해지고 안정성이 떨어진다. (어디서 버그가 터져나올지 테스트도 어렵다.) 이 프로젝트는 파생되는 데이터를 올바르게 다루기 위해 시작되었다. 예를 들면 현재 뷰에서 읽지 않은 메시지가 강조되어 있으면서도 읽지 않은 메시지 수를 상단 바에 표시하고 싶었다. 이런 부분은 MVC에서 다루기 어려운데 메시지를 읽기 위한 단일 스레드에서 메시지 스레드 모델을 갱신해야하고 동시에 읽지 않은 메시지 수 모델을 갱신 해야하기 때문이다. Flux Flux는 Facebook에서 소개한 아키텍쳐입니다. 전통적인 MVC 패턴을 버리고, 개발이 …

April 02, 2022
design