반응형
MVC 패턴이란?
MVC 는 Model, View, Controller의 약자입니다. 하나의 애플리케이션, 프로젝트를 구성할 때 그 구성요소를 세 가지의 역할로 구분한 패턴입니다.
비즈니스 로직과 사용자 인터페이스 요소를 분리하여 서로 영향을 끼치지 않고 개발을 할 수 있는 방법론 입니다.
MVC 패턴 구성요소
MVC는 Model과 View, 그리고 Controller 세 가지 요소로 구성되어 있습니다.
Model
- 프로그램에서 사용되는 실제 데이터 및 데이터 조작 로직을 담당합니다.
View
- 사용자에게 제공되어 보이는 UI를 담당합니다.
Controller
- 사용자에게 받은 데이터를 처리하기 위한 로직 수행을 담당합니다.
MVC 패턴 동작 흐름
- 클라이언트가 서버에 요청
- Controller에서 클라이언트에게 받은 데이터를 처리하기 위해 로직 수행
(이때, Model과 데이터를 주고받음) - 2의 로직 수행이 끝나면 View에 2의 결과를 전달
- View는 화면 변경을 통해 사용자에게 결과를 표시
MVC 패턴을 사용하는 이유?
Model, View, Controller로 나누어 개발을 할 경우 각각의 역할에 집중하여 처리하기 때문에 효율적입니다.
실생활에서 예를 들면 음식점에서 홀과 주방으로 역할을 나누어 주방은 요리에 집중하고, 홀은 고객 응대에 집중하는 것이 있습니다.
MVC 패턴의 장점
- 각각의 모듈의 역할이 명확하기 때문에 유지보수와 확장이 쉬워집니다.
- 일부 기능이 추가되는 경우에도 기존의 구성요소를 재사용 가능하기 때문에 코드의 재사용성이 향상됩니다.
- 다수의 개발자가 동시에 각각의 기능 개발이 가능하기 때문에 협업에 유리합니다.
MVC 패턴의 단점
- View와 Model이 의존성이 높다.
이로 인해 설계 단계에서 클래스들이 많아져 구조가 복잡하고 설계 시간이 오래 걸릴 수 있다.
(애플리케이션이 커질수록 복잡해지고 어려워짐) - 의존성이 높기 때문에 코드 하나를 수정하기 위해 여러 부분을 수정해야 할 수 있다.
반응형
'프로그래밍 언어&프레임워크 > java' 카테고리의 다른 글
[Java/자바] 컬렉션 프레임워크 (0) | 2021.09.13 |
---|---|
[Java/자바] 제네릭 프로그래밍 (0) | 2021.09.13 |
[Java/자바] 배열과 ArrayList (0) | 2021.08.23 |
[Java/자바] 래퍼 클래스(Wrapper Class) (0) | 2021.08.06 |
[Java/자바] 자료형(DataType) (0) | 2021.08.04 |