IT Study/Java
Java - MVC(Model View Controller)
hhyyyjun
2022. 12. 29. 09:36
| MVC(Model View Controller)
Model
DB 데이터들을 관리하는 파트
1) VO(Value Object)
VO는 Read-Only 속성인 값 오브젝트이다. 자바에서 단순히 값 타입을 표현하기 위해 불변 클래스(Read-Only)를 만들어 사용한다.
DB에 저장된 데이터 -> VO의 역할은 java 객체를 표현하는 것이다.
2) DAO(Data Access Object)
DAO는 DB의 data에 접근하기 위한 객체로 직접 DB에 접근하여 데이터를 삽입, 삭제, 조회 등 조작할 수 있는 기능을 수행한다.
DBMS(Oracle, MySQL)에 저장된 데이터를 java단으로 불러오는 역할(CRUD(핵심로직, 비즈니스 메서드))
VO와 DTO의 차이
DTO는 가변의 성격을 가진 클래스이며 데이터 전송을 위해 존재한다.(getter/setter)
그에 반해 VO는 값 그 자체의 의미를 가진 불변 클래스(Read-Only)를 의미한다.
View
사용자의 시선에 맞춰 console, 브라우저, 웹 등의 화면 구성을 하는 역할
사용자가 입력한 값에 대한 유효성 검사
Controller
M과 V를 연결하는 역할과 객체들의 조합을 통해 프로그램의 작동 순서나 방식을 제어
model과 view는 응집도가 높아 개별적인 작업이 가능한 장점이 있으며, 서로 관여하지 않기 때문에 결합도가 낮아 오류가 발생 시 해당 부분만 수정할 수 있는 장점이 있다.
*유지보수가 용이한 코드 == 낮은 결합도, 높은 응집도*