2010-06-22 28 views

cevap

7

Genellikle, Görünüm Modellerinde Alan Modelleri başvurmak zorunda ya da en azından Domain Modeller yükleyecektir kontrolörler ve bilgileri View Modelinize iletir.

Denetleyicileri ve Görünümleri olabildiğince basit/aptal olarak tutmayı tercih ediyorum, çünkü hem Etki Alanı Modelleri hem de Görünüm Modelleri test edilmek için daha kolay.

Bu nedenle, Etki Alanı Modellerime genellikle Görünüm Modellerim içinde başvuruyorum. Bazen toplama özelliğini kullanırım, bazen yalnızca özellikleri kopyaladım (yalnızca eski bir kodla bazı projelerde, bir otomatik eşleştirici kullanarak diğer projelerde)

+0

ancak bunu yapmak yalnızca makul ve yalnızca etki alanı modeliniz görünümün gereksinimlerine uygun olduğunda iyi çalışır. Bir görüş modelinin, neredeyse biçimlenmiş dizgi özelliklerini içermesi gerektiğini duydum. Btw özellikleri kopyalamak zorunda değilsiniz. AutoMapper hakkında okumanızı öneririm, sadece google! Bu harika bir araç imho. – Rookian

+0

Not Kopyaladığım bazı projelerde, özellikle de bir otomatik haritalayıcı kullanıyorum, özellikle AutoMapper :) Buna ek olarak, açıkladığınız şeyi yapıyorum. Etki Alanı Modellerimi Görünüm Modellerim olarak KULLANMAYIN. Bunu yapardık ve bizi birkaç kez ısırdı. – CubanX

+0

Sizi doğru anladığım gibi, görünüm modeli nesnelerini ve etki alanı modeli nesnelerini karıştırırsınız. Ve her ikisini de (yani, bir görünüm model nesnesini ve etki alanı modeli nesnesini içeren toplama) görünümü de mi gönderirsiniz? – Rookian

2

Görüntülü reklamcılıkta ne göstermem gerektiğini içeren ayrı görünüm modelleri oluşturma eğilimindeyim görünüm. AutoMapper, bunu kolaylaştırmak için bir oluşturma aracıdır.

+1

Görünüm model nesnelerini neden etki alanı modeli nesnelleriyle karıştırmayacağınızı ayrıntılı olarak açıklayabilir misiniz? Artıları ve Eksileri ... – Rookian

+0

Etki alanı model sınıflarım genellikle üzerlerinde çok sayıda eyalet mutator metoduna sahiptir. Bu yöntemlerin çağrılması gereken yerlerde karışıklığı önlemek için bunları doğrudan görüntüleme katmanına göstermek istemiyorum. Tüm alan komutlarımın, gerekli DB oturumlarını, güvenlik kontrollerini vb. Içeren bir hizmet katmanından geçmesini istiyorum. Ancak, normalde alanımdaki değer nesnelerini doğrudan MVC katmanına maruz bırakıyorum. Okuma-yazma modelleri (CQS) arasında temiz bir ayrışmaya sahip olmak da bu düzenlemeyi sürdürmeye yardımcı olur. – Ryan

+0

Her bir görünüm için bir görünüm modeline sahip olmak ve bu görünüm modelinin, görünümü oluşturmak için gerekenlere sahip olması için yapmaya çalışıyorum. Bu görünüm modeli, birden fazla etki alanı modelinden oluşabilir ve yalnızca alanlardan bazılarını kullanıyor olabilir. –

İlgili konular