DTO ( Data transfer Object )

 

1) 용도 : 레이어 간 데이터 전달.

 

2) 가변성

: 데이터와 관련된 변수와 getter/setter 메서드 외에, 로직은 담지 않는다.

  setter가 존재할 경우, 중간에 거치는 로직에 의해 데이터가 수정될 수 있다.

 

 

 

 

 

VO ( Value Object )

 

1) 용도 : 데이터 자체를 표현

 

2) 불변성

: 데이터 관련된 것 이외의 로직을 담을 수 있다.

 생성자와 final 키워드로 값이 상수화 되어, 값을 수정할 수 없다.

 

'Reviews' 카테고리의 다른 글

객체지향 디자인 패턴 2  (0) 2021.04.29
객체지향 디자인 패턴 1  (0) 2021.04.29
재귀함수  (0) 2021.04.19
Scope  (0) 2021.04.18
REST API  (0) 2021.04.18

 

 

- MVC ( Model View Controller ) 패턴이란?

: 모델은 애플리케이션의 정보(데이터)를 나타내며, 뷰는 텍스트, 체크박스 항목 등과 같은 사용자 인터페이스 요소를 나타내고, 컨트롤러가 데이터와 비즈니스 로직 사이의 상호동작을 관리하는 소프트웨어 공학 패턴

 

1) 모델 ( Model )

: 모델의 상태에 변화가 있을 때 컨트롤러와 뷰에 이를 통보한다. 이와 같은 통보를 통해서 뷰는 최신의 결과를 보여줄 수 있고, 컨트롤러는 모델의 변화에 따른 적용 가능한 명령을 추가·제거·수정할 수 있다.

즉, 데이터베이스에 담긴 정보에 대한 CRUD를 하고, 변경점이 있을 시, view와 controller에 통보한다.

 

2) 뷰 ( View )

: 사용자가 볼 데이터를 생성하기 위해 model로부터 정보를 얻어온다.

 HTML, CSS, javascript를 다룬다.

 

3) 컨트롤러 ( Controller ) 

: Model과 view의 변경점을 각각에게 통보하는 다리 역할을 한다.

 

- 비즈니스 로직에 대한 처리 문제

 : 데이터를 직접적으로 DB에 저장하는 코드는 model에 넣고, 사용자가 입력한 데이터의 형식이 올바른지 정도에

 대한 검사는 controller에서 하는 것이 바람직하다. 

예) 글자 수의 제한은 controller , 양식에 맞게 받은 데이터에 대한 처리는 model 에서.

 

 

 

'Programming, IT 관련 > IT 용어, 상식' 카테고리의 다른 글

폭포수 모델( Waterfall Model )  (0) 2021.04.26
DOM ( Document Object Model )  (0) 2021.04.24
AWS(Amazon Web Services)에서 파생된 개념 정의  (0) 2021.04.21
HTTP와 HTTPS  (0) 2021.04.19
쿠키, 세션, 캐시  (0) 2021.04.18

+ Recent posts