मैं बना रहा हूं, मेरे एएसपी.नेट एमवीसी अनुप्रयोग में प्रत्येक स्क्रीन के लिए मॉडल देखें। मैंने बिल्डर कक्षा में एक दृश्य मॉडल बनाने के लिए सभी तर्क डाले। आम तौर पर, समेकित, फ़िल्टरिंग और सॉर्टिंग सहित डेटा ऑब्जेक्ट्स को देखने के लिए डेटा ऑब्जेक्ट्स को परिवर्तित करने के लिए विशेष तर्क होता है। प्रत्येक निर्माता को निर्भरता सेट पारित किया जाता है, जो एक वस्तु है जिसमें प्रत्येक निर्भरता (भंडार, अन्य बिल्डर्स इत्यादि) के गुण होते हैं।लंबे नामों से बचने के लिए दृश्य मॉडल के बारे में नामकरण सम्मेलन
समस्या यह है कि मेरे नाम वास्तव में लंबे हो रहे हैं। एक निर्भरता सेट आमतौर पर एक नाम इस तरह से बना होगा:
दृश्य-मॉडल-नाम + बिल्डर + DependencySet
देखें मॉडल आमतौर पर जहां आप वर्तमान में कर रहे हैं और बच्चों से बना नाम है। उदाहरण के लिए, मेरे सिस्टम ने प्रदाता परिभाषाओं को वर्गीकृत किया है। तो, आदेश में एक श्रेणी के अंतर्गत प्रदाता परिभाषाओं को दिखाने के लिए, मैं कहा जाता है एक दृश्य मॉडल है:
CategoryProviderDefinitionListViewModel
वह कुछ इस तरह दिखेगा:
public sealed class CategoryProviderDefinitionListViewModel
{
public long CategoryId { get; set; }
public string CategoryName { get; set; }
public ProviderDefinitionViewModel[] ProviderDefinitions { get; set; }
}
तो, मेरी बिल्डर को
श्रेणीप्रोवाइडरडिफिशनलिस्टव्यूमोडेलबिल्डर
तो, मेरी निर्भरता सेट कहा जाता है
CategoryProviderDefinitionListViewModelBuilderDependencySet
मुश्किल से स्क्रीन पर फिट बैठता है कि। मेरी खराब उंगलियां थक गई हैं। इसके अलावा, कुछ स्क्रीन लगभग उसी डेटा को दिखाती हैं, इसलिए उनके दृश्य मॉडल नाम लगभग समान होते हैं। जब मैं अपने फ़ोल्डर को देख रहा हूं, तो मैं विशिष्ट दृश्य मॉडल कक्षाओं को ढूंढना वाकई मुश्किल हो जाता हूं।
आदर्श रूप में, मैं अपने दृश्य मॉडल कक्षाओं को एक साथ समूहित कर सकता हूं, उन्हें उन दृश्यों (एस) के साथ जोड़कर जहां उनका उपयोग किया जाता है। टकराव से बचने और नाम को कम से कम नाम बनाने के लिए अच्छा होगा, जबकि उन्हें सार्थक बनाए रखा जाए। क्या किसी ने नामकरण सम्मेलन/फ़ोल्डर संगठन पाया है जो इस परिदृश्य में अच्छी तरह से काम करता है?
एक [डीटीओ एक अलग बात है हालांकि) (http://stackoverflow.com/questions/1051182/what-is-data-transfer-object), शुरुआत के लिए, एक डीटीओ ** और * * एक ही समाधान में मॉडल देखें। – Liam
यह सच है। और यदि वह स्थिति उभरी, तो शायद मैं एक अलग नामकरण सम्मेलन का भी चयन करूंगा। लेकिन अच्छा मुद्दा। – CodeMonkey