[아키텍처] 아키텍처
아키텍처
프론트엔드는 MVC, MVP, MVVM, FSD, BFF 등 다양한 아키텍처가 사용되요. 그래서 오늘은 이러한 아키텍처들에 대해서 공부해봐요.
MVC 아키텍처
MVC 아키텍처는 약 36년 전에 만들어진 아키텍처로 Model
Model : 데이터와 비즈니스 로직을 관리하는 부분이에요.
View : UI를 통해 데이터를 화면으로 보여주는 부분이에요. UI 로직도 함께 포함되요.
Controller : Model과 View 사이의 다리 역할을 해요. user input을 처리하고, model을 업데이트하고 그 결과를 view에게 전달해요.
전통적 MVC
유저가 버튼 같은 것을 클릭하면 Event가 전달되고, Controller는 이에 따라 Model 업데이트를 요청할 수도 있고 View 업데이트를 요청할 수도 있어요. 그리고 Model은 업데이트 되면 View에게 최신 Model을 반영한 View를 UI로 제공하도록 만들 수 있어요.
이 때 Model의 변경으로 통한 View 업데이트는 크게 2가지 방법을 사용해요. Observer 패턴을 이용하여 자동 반영되게 만들거나, 단순히 View를 업데이트하는 코드를 넘겨줘 Flow를 통해 View 업데이트를 유발할 수 있어요.
Web MVC (feat. SPA)
MVC모델을 Web에 적용했을 때 모습이에요. Redux의 데이터가 View에 나타나고, View의 Event를 통해 Controoler의 Hook이 작동하여 Model을 변경하는 Action을 유발해요.
물론 위 구조는 억지로 짜맞춘 구조라고 보기도 해요. 왜냐하면 요즘 최신 프론트엔드 앱들은 마치 ...
✏️ 작성중...