백엔드/Servlet

MVC 패턴

가든_ 2022. 9. 24. 21:57

MVC


Controller

  • client 요청에 대한 처리
  • 클라이언트 요청을 분석해서 Model(Service, Dao) 호출
  • Model을 호출해서 받은 결과를 JSP에 넘겨주어 페이지 출력
  • ex) 신호등

Model

Service

  • 비즈니스 로직 처리
  • ex) 음식점의 홀 직원

Dao

  • DB 로직 처리
  • 유지 보수를 위해 Service에서 호출 된다.
  • ex) 음식점의 주방 직원

장점

  • html 코드와 java코드가 분리되어 있어 JSP 코드가 덜 복잡해짐
    • 결합도가 낮아짐
      • 특정 기능을 수정했을 때 다른 기능에 영향을 주는 정도가 낮아짐
  • 분업, 유지 보수 좋아짐
  • 확장성 좋아짐

단점

  • 구조가 복잡해서 초반 진입이 어려움
  • 개발 시간 증가로 개발 비용 증가
💡 그럼 모든 웹 사이트는 MVC로만 만드나요?
 ⇒ 유지 보수가 필요 없고 서비스 기간이 짧은 웹사이트는 Model1으로 만들기도 한다.