- ViewData
- 하드 윈도우 복사
- XSS PHP
- TempData
- ViewBag
- SSD 복사
- swagger 500 error
- 404에러페이지
- 말줄임표시
- Mac Oracle
- 바코드 스캔하기
- 타임피커
- 바코드 생성하기
- ASP.Net Core 404
- asp.net core Select
- javascript redirection
- javascript 바코드 생성
- XSS방어
- 하드 마이그레이션
- 원격ftp
- jquery 바코드생성
- php 캐쉬제거
- django 엑셀불러오기
- simpe ftp
- 맥 오라클설치
- asp.net core swagger
- asp.net dropdownlist
- asp ftp
- 강제이동
- asp.net Select
웹개발자의 기지개
[ASP.NET Core MVC] DTO (Data Transfer Object) 알아보기 본문
[ASP.NET Core MVC] DTO (Data Transfer Object) 알아보기
http://portfolio.wonpaper.net 2022. 10. 30. 00:07ORM 코딩 기법중에 DTO, DAO 등의 방식으로 클래스를 만드는데,
C# 에서도 이러한 흐름상에서 DTO 형태등으로 프로그램을 할 수 있다.
DTO 관련 조은 포스팅글이 있어서 꼭 보기 바란다.
https://www.telerik.com/blogs/dotnet-basics-dto-data-transfer-object
.NET Basics: DTO (Data Transfer Object)
Something common in ASP.NET Core development is data transfer. A good practice is to use DTOs that will define how the data will be sent over the network.
www.telerik.com
상기 포스팅글을 살펴보면, DTO 기법을 이용하면 아래와 같은 이점이 있다고 한다.
1. 데이터베이스 계층에서 서비스 계층을 구분할수 있다.
2. 특정 클라이언트에게 받을 필요가 없는 특수한 속성들은 숨길 수가 있다.
3. 해당 클래스 전체의 속성모두를 사용하지 않고, 일부만으로 구성하기 때문에 전송되는 데이터량(payload size)을 줄일 수 있다.
4. 클라이언트에게 휠씬 더 편리한 중첩객체를 이용하여 조작할 수 있다.
5. 오버하여 전달되는 포스트량을 줄일 수 있다.
간단히 말해서 해당 클래스의 속성들 모두를 이용하여 코딩하지 않고 간소화한 일부 속성을 바탕으로 정리된 DTO 클래스로 원하는 코딩을 해나가는 기법이라고 할 수 있겠다.
최적의 전송량으로 객체를 만들어서 알맞게 쓰는 클래스 기법이다.
1
|
public record Seller(Guid Id, string Name, DateTime CreatedAt, string Email, string Address, decimal DiscountFactor);
|
cs |
1
|
public record SellerDto(string Name, string Email);
|
cs |
위의 소스처럼 Seller 의 모든 속성들을 다 이용하지 않고, SellerDto 형태로 일부 속성들로 별도로 모아서 사용한다고 보면된다.
'ASP.NET > ASP.NET Core' 카테고리의 다른 글
[ASP.NET Core MVC] 두개의 Select문 만들기 (시도, 구군 주소 선택하기) - 비동기식(Async), Entity Framework 이용 (0) | 2022.12.14 |
---|---|
[ASP.NET Core MVC] 두개의 Select문 만들기 (시도, 구군 주소 선택하기) - Dapper 이용 (0) | 2022.12.12 |
[ASP.NET Core MVC] ViewData, ViewBag, TempData 비교 (0) | 2022.10.21 |
[ASP.Net Core MVC] Area 형태로 묶어서 사용하기 (0) | 2022.09.16 |
[ASP.Net Core MVC] 앱프로젝트 재시작없이 페이지 변경 자동 새로고침 Razor.RuntimeCompilation (0) | 2022.09.16 |