728x90
MVC 패턴에서의 Model
1.DAO 클래스(Data Access Object)
-데이터베이스에 접속해서 데이터의 추가, 삭제, 수정등의 작업을 하는 클래스입니다.
-일반적으로 JSP 혹은 Servlet 에서 위의 로직을 함꼐 기술할 수도 있지만 유지보수 및 코드의 모듈화를 위해 별도의 DAO 클래스를 만들어 사용합니다.
보통 한개의 테이블마다 한개의 DAO 클래스를 작성합니다.
DAO클래스는 테이블로부터 데이터를 읽어와 자바 객체로 변환 하거나 자바 객체의 값을 테이블에 저장합니다.
따라서 DAO를 구현하면 테이블의 컬럼과 매핑되는 값을 갖는 자바빈 클래스를 항상 작성해야 합니다. 자바빈 클래스는 VO 클래스라 부릅니다.
VO 클래스(value Object) / DTO 클래스(Data Transfer Object)
-DAO 클래스를 이용하여 데이터 베이스에서 데이터를 관리할 때 데이터를 일반적이 ㄴ변수에 할당하여 작업할수도 있지만 별도의 VO클래스를 작성하여 데이터베이스와 관련된 변수들의 모음 역활을 합니다.
-VO클래스는 자바빈 클래스로 생성합니다.
MVC1모델
MVC-1 Architecture에서 단일 웹 컴포넌트(Servlet/JSP)는 Controller로 사용되며 View는 단일 컴포넌트가 Controller와 View 로직을 모두 포함하는 것을 의미합니다.
>> 여기에서는 여러 기술을 사용하여 여러 계층의 논리를 개발합니다.
>> Model-1 아키텍처와 비교하면 로직을 보다 명확하게 구분할 수 있습니다.
>> 단일 구성 요소가 Controller 및 View 역할을 하므로 해당 논리는 mixec입니다. 따라서 보다 명확한 분리를 원하면 MVC-2를 보시면됩니다.
>> 단일 구성 요소가 Controller 및 View 역할을 하므로 해당 논리는 mixec입니다. 따라서 보다 명확한 분리를 원하면 MVC-2를 보시면됩니다.
MVC2모델
MVC-1과 MVC-2의 차이점
단 하나의 차이점이 있습니다. MVC-1에서는 단일 구성 요소가 컨트롤러 및 뷰로 사용되므로 뷰 컨트롤러 로직이 혼합됩니다. 그러나 MVC-2에서는 View를 위한 별도의 component가 있고 Controller를 위한 별도의 component가 사용됩니다. 따라서 MVC-2는 로직을 보다 명확하게 구분합니다.
728x90