티스토리 뷰
MVC 모델은 프로그램의 처리 내용을 역할별로 나누어 프로그램을 작성하는 개념으로, 주로 웹 시스템 개발에 사용됩니다. 이 모델은 세 가지 주요 역할로 구성됩니다: 모델(Model: M), 뷰(View: V), 컨트롤러(Controller: C).
MVC 모델의 구성 요소
역할 | 설명 | |
모델(Model: M) | 시스템의 비즈니스 로직을 구현하는 부분입니다. 이는 시스템의 핵심 기능이나 주요 서비스를 제공하는 코드를 포함합니다. | 모델은 시스템이 사용자에게 제공하는 서비스나 기능을 프로그램으로 구현하는 곳입니다. |
뷰(View: V) | 사용자에게 결과를 출력하거나 입력을 받는 외관을 담당합니다. 웹 애플리케이션에서는 주로 화면에 해당합니다. |
뷰는 사용자와의 상호작용을 통해 시스템의 결과를 표시합니다. |
컨트롤러(Controller: C) | 모델과 뷰를 제어하는 역할을 합니다. 뷰로부터 사용자의 입력을 받고, 모델에 지시 내용을 전달합니다. 또한 모델로부터 받은 결과를 뷰에 전달하고, 이를 반영하여 화면에 표시합니다. |
컨트롤러는 사용자 입력을 처리하고, 모델의 비즈니스 로직을 실행한 후 결과를 뷰에 전달합니다. |
MVC 모델의 장점
장점 | 설명 |
모델의 명확화 | 각 컴포넌트가 독립적이기 때문에 한 컴포넌트를 변경해도 다른 컴포넌트에 영향을 미치기 어렵습니다. 이는 유지보수 및 확장에 유리합니다. |
재사용성 | 각 컴포넌트가 독립적이기 때문에 재사용이 용이합니다. 예를 들어, 동일한 비즈니스 로직을 다른 화면으로 표시하거나, 같은 화면에 다른 비즈니스 로직을 적용하는 것이 가능합니다. |
테스트 용이성 | 테스트 용이성: MVC의 각 컴포넌트는 독립적이기 때문에 단위 테스트가 용이합니다. |
이처럼 MVC 모델은 애플리케이션 개발에 많은 이점을 제공하며, 유지보수성, 재사용성, 테스트 용이성을 높이는 데 기여합니다.
'스프링프레임워크' 카테고리의 다른 글
타임리프와 모델 인터페이스 (0) | 2025.03.16 |
---|---|
스프링 MVC 모델, 매핑 설명 (0) | 2025.03.16 |
AOP 용어와 어노테이션 정리 (0) | 2025.03.15 |
인스턴스에 @Autowired 로 필드 주입하는 방법 3가지 (0) | 2025.03.15 |
bean 과 DI 컨테이너 (1) | 2025.03.10 |