◇ PART · MVC

MVC — 왜 분업하나

Spring MVC — 읽기 자료

📍 지금 어디를 만지고 있나요?
브라우저
Controller
Service
DAO
DB

핵심 용어

MVC 패턴Model-View-Controller. 애플리케이션을 3 가지 역할로 분리하는 디자인 패턴.
분업 (Separation of Concerns)각 부분이 자기 책임만 갖도록 코드를 나누는 원칙.

1. 분업 없는 코드의 위험

하나에 다 박힌 컨트롤러
@RequestMapping("/board")
public String board() {
    // DB 연결 + SQL + 결과 가공 + HTML 조립 모두 한 곳에
}

화면 디자인 한 번 바꾸려 SQL 도 손대야 함. 테스트 거의 불가능.

2. MVC 의 발상

3 가지 역할 분리

3. 식당 비유

분업 없는 식당: 한 사람이 주문·요리·서빙을 다 함. 메뉴판 디자인 바꾸려면 주방도 영향.

MVC 식당: 종업원·셰프·식탁이 분리. 식탁 디자인(View) 바뀌어도 주방(Service) 그대로.

4. Spring 의 6 계층

계층 역할
DispatcherServlet모든 요청 진입점 — 안내데스크
Controller요청 응대 — 종업원
Service비즈니스 로직 — 메인 셰프
DAO/RepositoryDB 접근 — 창고 관리자
DTO/VO데이터 운반 — 그릇
View화면 — 식탁·메뉴판

5. 분업이 주는 것

6. Before / After

Part 2 끝

Spring 프로젝트는 동작하지만 한 컨트롤러에 모든 게 들어있다.

Part 3 시작

6 계층 분업의 큰 그림을 안다. 다음 차시들에서 각 계층 자세히.