[아키텍처] 아키텍처 간단 소개
아키텍처
소프트웨어에는 MVC, MVP, MVVM 등 정말 다양한 아키텍처가 생겼어요. 왜 이렇게 많은 아키텍처가 계속 생길까요?
코드의 복잡도가 커질수록 역할을 나누고, 유지보수성과 확장성, 테스트 용이성을 확보하기 위한 방법이 필요했기 때문이에요.
여러분들이 많이 들었을 MVC 패턴도 초기 GUI 소프트웨어를 만들때 뷰로직, 비즈니스 로직 등 많은 로직이 뒤섞였기 때문에 분리하기 위해서 만들어진 패턴이에요.
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에 적용했을 때 모습이...