꺄르륵
[Java] MVC - Design Pattern 본문
* MVC ( model - view - controller) 패턴
1. Model
프로그램의 비지니스 로직과 사용되는 데이터를 다루는 영역
2. View
최종사용자에게 보여줄 프리젠테이션 영역
3. Controller
사용자의 요청을 받아 이를 수행하는 비지니스 로직을 선택하고 호출하고, 비지니스 로직의 결과를 받아서 View에
전달해주는 영역
- MVC 패턴을 사용할 때 쓰이는 class 종류
1. VO, DTO
데이터를 저장하는 역할만 수행하는 class
(VO -> Value Object, DTO -> Data Transfer Object)
DB테이블에서 1개의 레코드를 저장할 클래스를 말한다.
2. DAO
쿼리문을 DB서버로 보내서 결과를 얻어오는 역할을 수행하는 class
(DAO -> Data Access Object)
3. Service
일을 수행하는 중간 관리자와 같은 역할을 수행하는 class
일이 있으면 그 일에 필요한 DAO를 호출해서 일을 처리한 후 처리 결과를 Controller에게 전달한다.
4. Controller
비지니스 로직이 시작되는 곳으로 일을 만들어서 Service에게 일을 시키고, Service가 보내온 처리결과를
View등에 반영시키는 일을 수행한다.
수행 과정
Controller ↔ Service ↔ DAO ↔ DB서버
전달되는 데이터는 보통 VO, Collection객체를 이용한다.
값을 왼쪽에서 오른쪽으로 넘길때는 '매개변수' 를 넘겨준다.
값은 오른쪽에서 왼쪽으로 받아올때는 '반환값(return)' 을 가져온다.
VO 클래스
package basic.mvc.vo;
/**
* DB테이블에 있는 컬럼을 기준으로 데이터를 객체화한 클래스이다
*
* DB테이블의 '컬럼명'이 이 클래스의 멤버변수가 된다.
* DB테이블의 컬럼과 클래스의 멤버변수를 매핑하는 역할을 수행한다.
*
*/
public class MemberVO {
// DB에 설정된 컬럼명
private String mem_id;
private String mem_pass;
private String mem_name;
private String mem_tel;
private String mem_addr;
//////////////////////////////////////////////////////
// Getter, Setter
public String getMem_id() {
return mem_id;
}
public void setMem_id(String mem_id) {
this.mem_id = mem_id;
}
public String getMem_pass() {
return mem_pass;
}
public void setMem_pass(String mem_pass) {
this.mem_pass = mem_pass;
}
public String getMem_name() {
return mem_name;
}
public void setMem_name(String mem_name) {
this.mem_name = mem_name;
}
public String getMem_tel() {
return mem_tel;
}
public void setMem_tel(String mem_tel) {
this.mem_tel = mem_tel;
}
public String getMem_addr() {
return mem_addr;
}
public void setMem_addr(String mem_addr) {
this.mem_addr = mem_addr;
}
}
'프로그래밍 > Java' 카테고리의 다른 글
[Java] JavaFx 기본 설정하기 (0) | 2019.10.29 |
---|---|
[Java] DocTest - 주석달린 html 만들기 (0) | 2019.10.21 |
[Java] DBUtill - jdbc, oracle 연동 방법 - III (0) | 2019.10.21 |
[Java] DBUtill - jdbc, oracle 연동 방법 - II (0) | 2019.10.21 |
[Java] DBUtill - jdbc, oracle 연동 방법 - I (0) | 2019.10.21 |