मैंने डेटाबेस में तालिकाओं के आधार पर मॉडल परिभाषित किए हैं। अब कुछ मॉडल हैं जिनका डेटा शायद ही बदलता है। उदाहरण के लिए, ई-कॉम साइट बेचने वाले उत्पादों की श्रेणियां, जिन शहरों में यह उत्पाद भेजती है आदि। ये अक्सर नहीं बदलते हैं और इस प्रकार डीबी को मारने से बचने के लिए, ये वर्तमान में स्थैतिक चर के रूप में सहेजे जाते हैं।कोड में कहां से एक डेटा रखना चाहिए जो नहीं बदलेगा?
प्रश्न यह है कि कोड में इन स्थैतिक चर स्थित होना चाहिए। वर्तमान में, उत्पाद श्रेणी श्रेणी (जो मॉडल प्रतिनिधित्व भी है) में एक स्थिर सूची परिभाषित की जाती है, यदि खाली डीबी को कॉल करता है और उत्पाद श्रेणियों को लोड करता है। इसी प्रकार, सिटी क्लास की एक समान स्थिर सूची है और इसी तरह।
इन स्थिर सूचियों का उपयोग पूरे एप्लिकेशन में किया जाता है। मैं स्टेटिकडाटा नामक एक वर्ग बनाने और फिर इस वर्ग के भीतर सभी स्थिर सूचियों को रखने की सोच रहा था। यही कारण है कि अब
ProductCategory.AllCategories.Find(p => p.Id = 2)
के बजाय है मैं
StaticData.AllProductCategories.Find(p => p.Id = 2)
है कौन आपको लगता है एक बेहतर तरीका है होगा? मैं टेस्टेबिलिटी और डिकूप्लेड कोड का भी लक्ष्य रख रहा हूं।
इसके अलावा, क्या इन्हें हासिल करने का एक बेहतर तरीका है? आप अपने कोड में कुछ ऐसा कैसे करते हैं?
हां, यह नमूना कोड है। वर्तमान में एक समान दृष्टिकोण का पालन किया जाता है। सवाल यह है कि ऐसे परिदृश्य हैं जहां कार, मोटरबाइक जैसे व्यक्तिगत स्थिर चर के अलावा, मैं एक संग्रह वाहन भी चाहता हूं, जो कोड में भी उपयोग किया जाता है। अब यह संग्रह कहाँ रहना चाहिए। वाहन वर्ग के भीतर या एक अलग वर्ग में? – shashi
@sassyboy: मैं इसे कक्षा में डाल देता हूं, हां। मेरे पास 'ऑल' नामक एक स्थैतिक रीडोनली सरणी होगी जिसे आप फिर से चालू कर सकते हैं, जिसे आप 'गेट (इंट आईडी) {वापसी ऑल। फर्स्टऑर्डडिफॉल्ट (x => x.Id == id) जैसे उपयोगिता कार्यों के लिए भी उपयोग कर सकते हैं; } 'यदि आपके पास' आईडी' संपत्ति है, उदाहरण के लिए ... ('प्राप्त करें 'विधि, फिर भी' वाहन 'का सदस्य होने के नाते) –