Nesneleri ve Alan nesnelerini basit terimlerle aktarma arasındaki farkı açıklar mısınız? Ve bir Java örneği verebilirseniz, bu harika olur.
Nesneleri ve Alan nesnelerini basit terimlerle aktarma arasındaki farkı açıklar mısınız? Ve bir Java örneği verebilirseniz, bu harika olur.
Anemik veri modeli (yani, etki alanı nesnelerinizde herhangi bir mantık yok) kullanılıyorsa, DTO ve etki alanı nesnesi kutu aynı nesne ol.
İlgili: http://techblog.bozho.net/?p=427
Bir Veri Aktarımı Nesnesi (DTO) Bir uygulamanın farklı bölümleri (farklı katmanlar gibi) veya farklı uygulamalar arasında veri alışverişinde kullanılır.
Etki Alanı Nesneleri (DO) (ve bunların türetildikleri sınıflar) iş mantığını uygularlar, çünkü bunlar yalnızca İş mantığı katmanı / Alanında bulunur (şartlar farklı olsa bile temel anlam aynıdır).
DO iş mantığını uyguladıkları için karmaşık olabilirler ve yöntemleri, olayları vb. İçerebilirler.
DTO'lar hakkında bir nokta daha
Martin Fowler düşünce okuluna göre, bir DTO, birkaç nesnenin (çoğu insanın genellikle bir DTO dediği şey) birleşimidir; gerekçeli ise, daha büyük veri paketlerinin daha sık gönderilmesinin (“konuşkanlık” dan farklı olarak ve tel üzerinden sürekli olarak çok sayıda küçük paket gönderilmesi) daha az pahalı olmasıdır.
Çoğu insanın DTO'yu tek bir nesne olarak göreceği yerde Martin F, bir DTO'nun sadece bir "zarf" olduğunu söyler. birkaç ayrık (ve muhtemelen ilgisiz) nesneler. Büyük bir sorun değil IMO - çoğu kişi bu cevabın üstündeki (veya ona yakın bir şey) tanımına göre bir DTO'nun olduğunu düşünüyor.
Aktarım nesneleri, kullanımının doğası gereği sık sık serileştirilebilir, bu durum özellikle aramalar uzaksa ve JVM arasındaysa veya durumsal oturum çekirdekleri gibi serileştirmeyi teşvik edecek şekilde kullanılacaktır. Bu amaçla, transfer nesneleri, bu tür "tedavi" ye karşı duyarlı olmalıdır. Transfer nesneleri seri hale getirilebilir.
Tersine alan nesneleri söylenemez. Etki alanı nesneleri davranış içerebilir, ancak DTO sadece bir taşıma aracıdır.
Alan perspektifi iş perspektifi, aktör veya tüm alan ve akışlarla aktivitenin konusu, DTO veri nesnesinin veri nesnelerini aynı şekilde yansıtmayan veritabanı nesneleridir (özellikle ORM mimarisinde). DTO, veri kümelemeye, dönüştürmeye, gösterimi veya bazı veri kümelenmesi gereksinimlerini karşılamak için birleşime sahip olabilir, konuyla ilgili değildir, ancak Etki Alanı nesnesinin kendi etki alanı düzeyinde tanımlaması için konu tabanı vardır.