DTO 와 DAO를 정리해보자

Today Jeeho Learned·2022년 6월 28일
0

Spring

목록 보기
21/31

DAO

  • DAO는 (data access object)의 약자로, database에 접근하는 역할을 하는 객체를 말한다.

  • 프로젝트의 서비스 모델에 해당하는 부분과 데이터베이스를 연결하는 역할을 하며 데이터의 CRUD 작업을 시행하는 클래스입니다. 즉, DAO는 데이터에 대한 CRUD 기능을 전담한 오브젝트를 의미하는 것이다.

  • 이를 사용하는 사람은 자신에게 필요하거나 사용하려는 인터페이스를 DAO에게 넘겨주고 DAO는 이 인터페이스를 구현한 구현체를 사용자가 편리하게 사용할 수 있도록 반환해줍니다.

  • 그렇다면, DAO를 사용하는 이유가 무엇일까?

  1. 효율적인 커넥션 관리와 보안성때문이다.
  2. DAO는 비즈니스 로직을 분리하여 도메인 로직으로부터 DB와 관련한 메커니즘을 숨기기 위해 사용합니다.

DTO

  • DTO는 Data Transfer Object의 약자로, 데이터를 전달하기 위한 객체입니다.

  • 여러 레이어(Layer)간 데이터를 주고 받을 때 사용할 수 있는데 주로 View와 Controller 사이에서 활용된다.

  • DTO는 getter / setter 메소드를 포함한다. 하지만, 이외의 다른 비즈니스 로직은 포함하지 않는다.

  • DTO는 어떻게 구현하느냐에 따라 가변 객체로 활용할 수도 있고 불변 객체로 활용할 수도 있다.

  • DTO의 목적은 데이터의 전달이다. 읽고 쓰는 것이 모두 허용되는 점이 가능하고, 일회성으로 사용되는 성격이 강하다!

  • 장점으로는 엔터티 객체의 범위를 한정 지을수 있기 때문에 좀 더 안전한 코드를 작성할 수 있고, 화면과 데이터를 분리하려는 취지에 부합한다!

  • DTO 사용의 단점은 ENTITIY와 유사한 코드를 중복으로 개발, ENTITY객체를 DTO로 변환하거나 DTO 객체를 ENTITY 객체로 변환하는 과정이 필요하다

profile
기록해야 (살아)남는다 !

0개의 댓글