디자인 패턴 중 하나인 아키텍처 패턴에는
이들은 모두 Model과 View를 공통적으로 가지고 있는데,
Model : 데이터 or 데이터를 생성하거나 업데이트
View : UI or 화면을 표시
프로그램의 Presentation Logic과 Business Logic을 구현하며 데이터와 UI는 필수이기 때문에, M-V 사이의 의존성도 생긴다.
Presentation Logic : 브라우저에 보이는 화면처럼 실제 눈에 보이는 GUI 화면을 구성하는 코드
Business Logic : 데이터를 보여주기 위해 데이터베이스를 검색하는 코드 및 GUI 화면에서 새롭게 발생된 데이터를 데이터베이스에 저장하는 코드 등 실제 작업을 하는 코드
Logic이 커지고 복잡해지면 생산성과 품질 저하의 우려가 있기 때문에, 유지보수와 확장성을 고려한 코딩을 위해 아키텍처에 대한 공부가 필요하다.
(주로 대중적으로 사용되고 웹에서 쓰이는 MVC와 안드로이드에서 인기있는 MVP등 공부가 필요하다.)
프로그램을 각 역할에 따라 Model, View, Controller 로 나누어 설계한 아키텍처 패턴
Model, View, Controller로 나누는 행위는 더 나은 업무의 분리와 향상된 관리를 가능하게 한다.
출처 : mdn web docs
데이터를 가진 객체
UI와 같은 시각적 요소
모델과 뷰를 연결, 비즈니스 로직
Model 과 View 사이의 의존성 -> 프로그램이 커지고 복잡해질 수록 유지보수가 어려워짐
참고