मैं अपने पिछले प्रश्नों में से एक के जवाब के कारण ऑटोमैपर पर पढ़ रहा हूं here।
यह कहता है कि ऑटोमैपर जटिल डोमेन मॉडल flattens, लेकिन मुझे कुछ ऐसा करने की जरूरत है जो विपरीत है। मुझे जटिल दृश्य मॉडल में अपने दृश्य मॉडल (फ़्लैट किए गए डोमेन मॉडल) को तार करने की आवश्यकता है ताकि मैं दृश्य मॉडल को डोमेन मॉडल में त्वरित रूप से बदल सकूं।
क्या ऑटोमैपर के समान कुछ भी है जो एक दृश्य मॉडल लेता है और इसे एक जटिल डोमेन मॉडल में बनाता है?ऑटोमैपर डोमेन मॉडल को फ़्लैट करता है लेकिन क्या यह विपरीत करता है? यदि नहीं, तो क्या करता है?
9
A
उत्तर
1
वास्तव में नहीं, क्योंकि इसे उपयोगी होने के लिए बेहद पारंपरिक होना होगा। फ़्लैटनिंग के दौरान पैटर्न को समझना आसान है, लेकिन दूसरी तरफ 'राउंड ... बस बहुत अधिक कस्टम तर्क।
4
आप करते हैं! आप MapToModel विधि बनाते हैं जहां आप दाएं हाथ/बाएं हाथ कोडिंग करते हैं और दोनों को एक साथ सिंक करते हैं।
public MyModel MapToModel(MyViewModelForm vmf)
{
//new up MyModel model;
model.foo = vmf.foo;
return model;
}
यदि अनुप्रयोग स्वयं को कोडित करते हैं, तो हम वास्तव में एक जीवित रहने के लिए क्या करेंगे ...?
+2
एप्लिकेशन जो खुद को कोड करते हैं :) – Omu
2
ValueInjecter यह होता है, और इसका इस्तेमाल करने के लिए काफी आसान है:
//flatenning
personDto.InjectFrom<FlatValueInjection>(person);
//unflattening
person.InjectFrom<UnflatValueInjection>(personDto);
और
//this is just mapping without flattening/unflattening
foo.InjectFrom(bar)
आप ValueInjecter साथ यह कर सकते हैं http://valueinjecter.codeplex.com/ – Omu