App
Controller(motivaiotn, system) // motivation 여기까지 구현
Service(motivation, system) -> 핵심 로직
DAO(motivation Repository, System Repository)
DB
Controller
- client(view)에서 보낸 요청에 따라 적절한 응답을 한다.
- 사용자가 controller를 조작하면 controller는 model을 통해서 데이터를 가져오고, 정보를 바탕으로 시각적인 표현을 담당하는 View를 제어해서 사용자에게 전달하게 된다.
Service
- 로직을 처리하는 객체
- DAO 여러개를 묶어 사용하는 개체
- DAO를 통해 데이터에 접근하고, DTO로 전달받은 데이터를 처리하는 데 필요한 로직 구현
- Controller가 Request를 받으면 적절한 Service에 전달하고, 전달받은 Service는 비지니스 로직을 처리한다.
DAO(Data Access Object)
- DB에 접근해 데이터를 조회하거나 조작하는 객체를 말한다.
DTO(Data Transfer Object)
- 계층간 데이터 교환을 위한 객체
- 오직 getter/setter 메서드 만 갖는다.
- setter를 제거하고 생성자에서 데이터를 받아 필드에 할당해준다면 전달 과정에서 데이터의 변조를 막을 수 있다.
- DAO와 Service, Controller 사이의 데이터 교환을 할 때 사용하는 경우와 Controller와 View 사이의 데이터 교환을 할 때 사용하는 경우
'JAVA' 카테고리의 다른 글
JAVA(07.03) - ArticleManager(Switch case문, 간소화) (0) | 2024.07.03 |
---|---|
JAVA(07.02) - 날짜 기능, 게시글 검색 기능 (0) | 2024.07.02 |
JAVA(07.01) - motivation(삭제, 수정기능, String toString() 메소드) (0) | 2024.07.01 |
JAVA(06.28) - motivation(Refactoring, Parsing) (0) | 2024.06.28 |
JAVA(06.27) - TDD 다항식 계산기 (0) | 2024.06.28 |