SORU
7 NİSAN 2009, Salı


POCO vs DTO

POCO = Plain Old CLR (en iyi Sınıf) Nesne

DTO = Veri Transfer Nesnesi

Bu post orada bir fark, ama açıkçası en bloglar okudum tarif POCO yol DTO tanımlanır: DTOs basit veri kaplarda kullanılan veri taşıma arasındaki katmanların bir uygulama.

Aynı şey POCO DTO?

(ps: bir yaşam biçimi olarak great article Bu POCO bak)

CEVAP
7 NİSAN 2009, Salı


Bir POCO OOP kurallarına uyar. (Ama şart değil) devlet olmalıdırvedavranış. POCO POJO, Martin Fowler [anecdote here] tarafından icat geliyor. Bu çerçeve ağır YEREL uygulamaları reddetmek için daha seksi yapmak için bir yol olarak dönem POJO kullandı. POCO aynı bağlamda kullanılmalıdır .Net. Çerçeveler, nesne tasarımı dikte izin vermeyin.

Bir DTO tek amacı devlet aktarmak ve davranış olmalıdır. Bakın Martin Fowler explanation of a DTO bu modeli kullanmak, örneğin.

Fark şu:POCO programlama için bir yaklaşım açıklar(iyi eski moda Nesneye Yönelik Programlama)DTO oluştubu veri" nesneleri kullanarak. "aktarmak için kullanılır

DTOs gibi pocos ' tedavisi mümkün olmakla birlikte, eğer yaparsanız çok anemic domain model bir yaratma riski çalıştırın. Ayrıca, DTOs veri transferi için tasarlanmış olması gerektiğinden yapısı, işletme alan gerçek yapısını temsil etmek için değil, bir uyumsuzluk var. Bu sonucu DTOs gerçek etki alanı daha düz olma eğilimindedir.

Makul herhangi bir karmaşıklık bir etki alanında, hemen hemen her zaman ayrı bir etki alanı pocos ' oluşturma ve DTOs için onları çevirmek daha iyidir. DDD (domain dayalı tasarım) ayrımı net yapan iyi bir yapısı olan, anti-corruption layer (başka bir bağlantı yapmak için. buy the book here, ama en iyi şey), tanımlar.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • FrameCityJackal

    FrameCityJac

    4 Aralık 2010
  • GamingAndTech

    GamingAndTec

    16 NİSAN 2013
  • Jared Busch

    Jared Busch

    25 Mayıs 2011