본문 바로가기

WEB etc

MVC 디자인패턴

MVC 디자인패턴

MVC는 Model / View / Controller 의 약자로 어플리케이션을 세 역할로 나눈 개발방법론이다.
Model은 애플리케이션의 데이터를, 
View는 사용자 인터페이스 요소를,
Controller는 데이터와 비즈니스로직 사이의 상호동작을 관리한다.



  1. 사용자가 컨트롤러를 조작하면 (Uses)
  2. 컨트롤러는 모델을 통해 데이터를 가져오고 (Manipulates)
  3. 가져온 데이터를 바탕으로 시각적 표현을 담당하는 View에 반영하여 (Updates)
  4. 사용자에게 결과를 보여준다. (Sees)



웹에서 적용한 MVC패턴 :


클라이언트가 웹사이트에 접속하여 요청한다. (Uses)
Controller가 Model을 호출한다 (Manipulates)
Model은 DB혹은 File 같은 데이터소스를 제어하고 결과를 리턴한다.
Controller는 Model이 리턴한 결과를 View에 반영한다 (Updates)
사용자가 요청한 결과가 보여진다 (Sees)



참고: 

DTO : 
    Data Transfer Object의 약자로 로직을 갖고 있지 않은 순수한 데이터 객체이며 필드와 필드에 접근하기 위한 getter, setter 메소드만 가진 클래스를 말한다.
    즉 계층간 데이터 전달에 사용하는 데이터 객체들을 말한다.
VO :
    Value Object의 약자로 enum과 유사한 데이터의 집합이다. VO의 정체성은 value에 의해 결정되며 또한 불변이다. 
    실제 세계의 예로 Color.RED, Color.BLUE, SEX.FEMALE 등. 
    (라고 하지만, 사실은 DTO와 VO를 같은 의미로 쓰는 듯.)
DAO :
    Data Access Object의 약자로 데이터베이스의 데이터에 접근하는 트랜잭션 객체다.