SORU
24 Mart 2009, Salı


Etki alanı Nesne Eşleme DTO İçin en iyi Yöntemler?

Soru, Etki alanı Nesneleri için DTOs eşleme ile ilgili bir çok şey gördüm, ama soruma cevap verdiler hissetmedim. Pek çok yöntem, daha önce kullanılan ve kendi düşüncelerim var ama biraz daha somut arıyorum.

Durum:

Birçok etki alanı nesneleri var. Bizim etki alanı nesneleri oldukça karmaşık olabilir bu yüzden CSLA bir modeli kullanıyoruz ve kendi veri erişim içerir. Bu etrafında Tel geçmek istemiyorum. Formatları bir dizi veri döndürecektir bazı yeni servisler yazılı olacağız (.Net, JSON, vb.). Bu (ve başka sebepler) için de yağsız, veri transfer nesnesi Tel geçmek yaratıyoruz.

Benim soru nasıl DTO ve Etki alanı nesnesi bağlı olmalıdır.

İlk tepkim Fowler, DTO pattern-type solution kullanmaktır. Bu çok defa gördüm ve bana doğru geliyor. Etki alanı nesne DTO herhangi bir başvuru içerir. Dışarıda bir varlık (""veya"") çevirici Etki, bir nesneden bir DTO oluşturmak için denir. eşleyici Normalde etki alanı nesne tarafında bir ORM var. Bu olumsuz "eşleyici" gerçek bir durum için son derece karmaşık olur ve çok kırılgan olabilir.

Başka bir fikir Etki alanı için öne sürülen, "sadece yalın bir veri nesnesi olduğu için." DTO, içeren Nesne Etki alanı özellikleri dahili DTO özellikleri başvuru Nesnesi ve sadece eğer istenirse, DTO dönebilir. Bu ile herhangi bir sorun göremiyorum ama yanlış geliyor. İnsanlar Arabiriminin kullanarak bu yöntemi kullanmak için ortaya bazı makaleler gördüm.

Başka bir yolu var mı? Yollardan birini kullanarak değer yukarıda mı? Öyle bir şey yoksa eğer, neden?

Önceden herhangi bir fikir için teşekkürler.

CEVAP
24 Mart 2009, Salı


Bir yararı olan bir eşleyici o oturur arasındaki etki ve DTO olarak appearent zaman sadece destekleyen tek bir eşleme, ama sayı eşleştirmeleri artırır, kod izole etki olacaktır etki alanı daha basit ve yalın. Ekstra ağırlık bir sürü etki yığılan olmayacaktır.

Şahsen, ben denemek ve benim etki alanı varlıkları dışarı haritalama tutmak ve derim sorumluluk koymak "Yönetici / Hizmet katmanı". Bu katman o oturur arasındaki uygulama ve respository(ler) sağlayan iş mantığı gibi iş akışı koordinasyonu (değiştirirseniz, belki senin için de değişiklik B çok hizmet edecek iş ile Hizmet B).

Eğer olsaydı, bir sürü Olası bitiş biçimleri olabilir bak oluşturarak bir plugable biçimlendirici bu işime yarar Ziyaretçi desen, örneğin, dönüştürmek benim varlıklar, ama ben bulunamadı ihtiyacı için henüz bir şey bu karmaşık.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Jeremy Gallman

    Jeremy Gallm

    11 NİSAN 2012
  • TROPFEST

    TROPFEST

    27 Mart 2007
  • YouplusmeVEVO

    YouplusmeVEV

    4 EYLÜL 2014