Notice
Recent Posts
Recent Comments
Tags
- 강제이동
- XSS방어
- 하드 마이그레이션
- 바코드 생성하기
- asp.net dropdownlist
- jquery 바코드생성
- javascript 바코드 생성
- django 엑셀불러오기
- Mac Oracle
- 파일업로드 유효성체크
- asp.net core Select
- SSD 복사
- jquery 바코드
- ViewBag
- 하드 윈도우 복사
- javascript 유효성체크
- 파일업로드 체크
- javascript 바코드스캔
- php 캐쉬제거
- XSS PHP
- 말줄임표시
- 타임피커
- ViewData
- asp.net Select
- ASP.Net Core 404
- 바코드 스캔하기
- TempData
- javascript redirection
- 맥 오라클설치
- 404에러페이지
웹개발자의 기지개
[ASP.NET Core MVC] DTO (Data Transfer Object) 알아보기 본문
ASP.NET/ASP.NET Core
[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
상기 포스팅글을 살펴보면, 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 |
Comments