티스토리 뷰

MVC

 MVC란 Model View Controller의 약자로 애플리케이션을 세 가지의 역할로 구분한 디자인패턴

 세 영역을 구분함으로써 결합도를 최소화한 패턴

  * 디자인패턴 : 소프트웨어의 개발 방법을 공식화 한 것. 개발자들 간의 커뮤니케이션의 효율성을 높이는 기법 예) 싱글톤 패턴, 팩토리 패턴, 옵저버 패턴 등...


  - Model : 백그라운드에서 동작하는 로직을 처리

               데이터를 담거나(dto) 데이터베이스로 데이터를 보내는 작업(dao)을 수행

   * DTO (Data Transfer Object), VO (Value Object)

     : 데이터 전달을 위한 목적으로 생성된 객체로서, View에서 출력할 수 있는 최종 데이터를 전달

      예) Car Class(Mode)에서 속도를 계산하고(로직을 통해 데이터 연산), CarDto Class(DTO)에서 속도에 대한 데이터를 저장하여 View에 전달

            --> Car class(Model)은 외부에 노출되지 않음(캡슐화)

     : DTO를 사용하면 Model과 중복적인 코드가 존재 가능

      예) Car(Model)에서 속도 연산을 위해 속도 관련 데이터가 있고, CarDto(DTO)에서도 View에서 속도를 출력하기 위한 속도 관련 데이터를 가질수 있음

     : DTO는 접미사 Dto를 이용해서 다른 클래스와 구분 필요 (Tip : IntelliJ Tool에서는 cmd + n 을 이용해서 생성자 및 getter/setter 생성가능)

     : DTO와 VO는 동일한 개념이지만, VO는 오직 read only! DTO는 로직을 갖고 있지 않는 데이터 객체이며, 데이터에 접근하기 위한 getter/setter 메소드만 보유

  * DAO (Data Access Object)

    : DB를 사용해 데이터를 조화하거나 조작하는 기능을 전담하도록 만든 객체를 의미. 단순히 읽기만 하는 연산이므로 트랜잭션 간의 오버헤드 감소

     

 - View : 사용자가 보게 될 결과 화면을 출력. View에서의 사용자의 입력/행동을 Controller에 전달


 - Controller : 사용자의 입력처리와 흐름 제어를 담당





공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함