DTO Nedir ve ne için kullanılır
DTO (Data Transfer Object), veri transferi için kullanılan bir tasarım desenidir. Genellikle bir uygulamanın farklı katmanları arasında veri taşımak için kullanılır. DTO'lar, veri yapısını basitleştirir ve gereksiz verilerin taşınmasını önler, böylece performansı artırır ve güvenliği sağlar.Ama açıklayacak olursak. DTO bazen modelimizde göstermek istemediğimiz verilere karşi tarafa göstermeyiz. Örnek olarak bir adete modelimiz olduğunu düşünelim ve kayıt olmamiş bir kullanıcıın kaydeden,kayıt oluşturma , kayıt tarihi , güncelleyen gibi verilerimiz kayıt olurken görmesini istemeyiz.Bunun için gerekli olan verileri DTO classları ile tanımlarız. örnek olarak ProductDto gibi bir class tanımladığımız var sayarsak önemli noktalardan biride prouct enititsiyle isimlerin aynı olmasıdır.
public class Product
{
public int Id { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public decimal Price { get; set; }
public DateTime CreatedDate { get; set; }
}
public class ProductDTO
{
public string Name { get; set; }
public decimal Price { get; set; }
}
Yukarıdaki örnekte, Product sınıfı bir ürünün tüm özelliklerini içerirken, ProductDTO sınıfı yalnızca Name ve Price özelliklerini içerir. Bu şekilde, istemciye yalnızca gerekli veriler gönderilir ve gereksiz veriler gizlenir. DTO'lar, veri transferini optimize etmek ve uygulama katmanları arasındaki bağımlılıkları azaltmak için yaygın olarak kullanılır.