DTO(Data Transfer Object)
계층간 데이터 교환을 위한 객체.
데이터베이스에서 데이터를 얻어와 service/controller 등에 전달할 때 사용된다.
가져온 데이터를 비즈니스 로직에서 처리하기 위해 DTO 객체로 변환하고, 다시 데이터베이스나 외부 시스템에 전달한다.
DTO는 보통 불변하고, 필드를 가지고 있는데, 이 필드에 필요한 정보를 가지고 있다.
request와 response용 DTO는 view를 위한 객체이다.
코드의 가독성을 높이고, 간결하고 명확하게 작성할 수 있다.
DAO(DataTransfer Object)
객체 지향 프로그래밍에서 데이터베이스에 관련된 작업을 수행하는 객체.
데이터베이스에 접근해서 검색/삽입/갱신/삭제 등의 작업을 수행한다.
비즈니스 로직과 데이터액세스 로직을 분리하여 유지보수성과 재사용성을 높일 수 있다.
데이터베이스의 코드를 캡슐화하고, 세부 구현을 추상화하여 의존성을 낮추는데도 기여한다.
MVC(Model-View-Controller)
디자인 패턴 중 하나로, 소프트웨어를 구성하는 요소를 3가지 역할로 구분한다.
model : 사용되는 데이터와 데이터를 처리하는 로직
view : 사용자가 보는 화면
controller: model과 view 사이의 연결고리 역할
컨트롤러에서 사용자 요청을 받아, 모델에서 데이터를 들고오고 뷰에 전달한다.
유지보수가 용이하고, 확장성을 향상시키는 장점이 있다.