CS

MVC 패턴

땅지원 2022. 9. 19. 19:16

MVC(Model View Controller) patten

어떤 작업을 수행함에 있어 수십 혹은 수백 명의 개발자들이 공통되게 코드를 작성하는 방식

유지보수, 확장성, 프레임워크 사용 용이

Model

  • 데이터를 담거나 데이터베이스로 데이터를 보내는 작업과 관련된 객체(DTO, DAO)
  • Business Logic Encapulation(Service)
  • Persisttance Logic Encapsulation(DAO)
  • Data(VO)

View

  • 사용자 입력화면 제공
  • Model Data 화면 출력
  • 응답화면 출력

Controller

  • MainServlet
  • Model과 View사이를 제어
  • Client입력 데이터 체크
  • Model의 business method 호출
  • Model로부터 응답 받은 Data 일정 범위에 저장
  • 응답 View 선택

* DTO(Data Transfer Object)

  • 데이터를 담아 전송하는 객체
  • Book class, User class 처럼 변수와 생성자, getter, setter 등이 있는 Object
  • dto(data transfer object) == Java Beans == VO(value Object)

* DAO(Data Access Object)

  • 데이터베이스의 데이터에 접근하기 위해 생성하는 객체이다.
  • 데이터베이스에 접근하기 위한 로직과 비즈니스 로직을 분리하기 위해 사용
  • DAO는 DB를 사용하여 데이터의 조회 및 조작하는 기능을 전담하는 Object