728x90
🧐 DAO란?
DAO - 단일 데이터의 접근과 갱신만 처리한다(CRUD)
Service - 여러 DAO를 호출하여 사용자의 요구에 맞게 가공한다
DTO (Data Transfer Object)(데이터가 네트워크를 통해 전송되는 방법을 정의하는 객체)
- req.body 넘어오는 데이터들이 너무많아져 @body로 지정될게 많아지면 하나의 프로퍼티가 달라지면 controller , service 컴포넌트 부분에 수정이 다필요하다.
하지만 dto를 이용하면 dto파일에 수정하고 service 부분에 수정을 하면 더욱 간편하고 가독성과 유지보수가 용이하다고 생각이 든다.
- 클래스는 인터페이스와 다르게 런타임에서 작동하기 때문에 파이프 같은 기능을 이용 할때 더 유용합니다.
- 데이터 유효성 체크하는데 효율적
- 더 안정적인 코드로 만들어주며 타입스크립트의 타입으로도 사용가능하다.
TypeORM
orm이란
- 코드에 있는 "객체"와 DB에 있는 "데이터"를 편하게 일치시켜주는 도구다
typeorm이란
- 타입스크립트과 함께 사용되어 Node.js, React Native, Expo에서 실행될 수 있는 ORM입니다.
장점
- 다양한 데이터 베이스를 지원해줍니다.(MariaDB,NOSQL 등)
- Active Record와 Data Mapper패턴을 지원해줍니다.
- 코드에 entities와 함께 작업을 할 수 있습니다.
단점
- 실행 속도가 느리다는 점이 있습니다.
- 쿼리 작성이 조금 복잡하다는 점도 존재합니다.
'토이프로젝트 > Nest.js' 카테고리의 다른 글
Nest.js[Active Recore & Data Mapper Pattern (0) | 2021.12.11 |
---|---|
nestjs, socketIo, redis 구현 준비 (0) | 2021.09.19 |