Derinlemesine ViewModel & DTO Yapılarının İncelenmesi

DTO (Data Transfer Object) veri transferini yapmamızı sağlayan nesnedir.

Urun Musteri Personel şeklinde 3 tane verimiz var. 3 tane veriyi Get in view ine göndermek istiyorsak. 

Tuple nesne kullanabiliriz. Birden fazla nesneyi tek bir nesnede birleştirmemizi sağlar, çoklu nesne oluşturmamızı sağlar.

Ya da Fiziksel bir ViewModel oluşturup onun üzerinde birleştirmeyi yapabiliriz.

Personel referansına Personel  nesnesini 

Urun referansına Urun nesnesini 

Musteri referansına Musteri nesnesini bağlıyoruz

XVM nesnemiz sayesinde 3 tane farklı nesneyi tek bir nesnede toplayıp ona göre işlem gerçekleştirip bir yere transfer edebiliyoruz.

Backend de üretmiş olduğumuz veriyi herhangi bir client a gönderdiğimizde, client gelecek olan verinin a b c formatında olduğunu bilecektir. Clientta hangi teknoloji kullanılıyorsa bu veriyi karşılayacak bir (Entity,Model) oluşturmamız gerekir. 

Gelecek olan veriye birebir aynı şekilde aynı imzalara sahip bir nesne oluşturmamız gerekiyor ki  bu bizim gelecek olan veriyi tam olarak karşılayabilsin. İşte buna sözleşme denilmektedir. 

ViewModeller da yaptığımız operasyonlara göre validation lar tasarlanmalıdır.

EntityModel ı direkt temsil eden içinde fonksiyon, farklı nesnenin ya da Dto nesnesinin referansını barındırmayan nesnelere ViewModel demiyoruz da DTO nesnesi diyoruz. Bu operasyonlarda yani kullanıcıdan gelen salt dataları temsil eden ViewModellar bizim için esasında DTO nesneleridir. ViewModel Dto dan biraz daha geniş kapsamlı nitelendirebileceğimiz nesnedir.

Manuel Dönüştürme

Reflection herhangi bir sınıfın, struct ın, interface in içerisine girip ilgili türün içerisinde programatik olarak tarama yapmamızı sağlayan ve memberlar üzerinde işlemler gerçekleştirmemizi sağlayan bir ileri düzey tekniktir. Bu tekniği kullanarak elimizdeki viewmodellarla entitymodellar arasında veri transferini sağlayabiliriz.

İnternet sitesi https://abdullahsarihan.com
Yazı oluşturuldu 108

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Benzer yazılar

Aramak istediğinizi üstte yazmaya başlayın ve aramak için enter tuşuna basın. İptal için ESC tuşuna basın.