MVC(Model-View-Controller)
MVC 아키텍처는 소프트웨어를 설계하고 구조화하는 데 사용되는 소프트웨어 디자인 패턴 중 하나입니다. MVC는 Model-View-Controller의 약자로, 애플리케이션의 각 부분을 세 가지 주요 구성 요소로 분리합니다.
-
모델 (Model):
- 모델은 데이터와 데이터의 상태를 나타냅니다. 데이터베이스의 테이블, JSON 파일, API 엔드포인트로부터의 데이터 등이 될 수 있습니다.
- 모델은 데이터의 저장, 검색, 수정, 삭제 등을 담당합니다. 비즈니스 로직이나 데이터의 상태 변경을 처리합니다.
-
뷰 (View):
- 뷰는 사용자 인터페이스(UI)를 나타냅니다. 즉, 사용자에게 보여지는 부분입니다.
- 뷰는 모델의 데이터를 시각적으로 표현하거나 사용자와의 상호 작용을 처리합니다. HTML, CSS, JavaScript 등으로 구성될 수 있습니다.
-
컨트롤러 (Controller):
- 컨트롤러는 모델과 뷰 간의 상호 작용을 조정하는 중간 계층입니다. 즉, 사용자의 입력을 처리하고 그에 따라 모델을 업데이트하거나 새로운 뷰를 렌더링합니다.
- 컨트롤러는 사용자의 요청을 받아 해당 요청을 처리하고, 비즈니스 로직을 호출하여 데이터를 가져오거나 업데이트하고, 이후에는 그 결과를 적절한 뷰에 전달하여 사용자에게 응답을 보냅니다.
MVC 아키텍처는 각각의 구성 요소가 독립적으로 변경될 수 있도록 설계되어 있어 유지보수 및 확장이 용이합니다. 또한 사용자 인터페이스와 비즈니스 로직을 분리하여 코드를 더 관리하기 쉽게 만들어줍니다. 이 아키텍처는 웹 애플리케이션 개발에서 특히 많이 사용되며, 대부분의 주류 프레임워크와 플랫폼에서 지원하고 있습니다.