मैं वर्तमान में मूल टाइमशीट एप्लिकेशन को लागू करने के लिए एएसपी.एनटी एमवीसी आरसी 1 का उपयोग कर रहा हूं। मैं डीआरवाई सिद्धांतों का पालन करना चाहता हूं लेकिन इसे एक विशेष मामले में मुश्किल लगाना चाहता हूं:तर्क को सी # और जावास्क्रिप्ट कार्यान्वयन की आवश्यकता होने पर DRY कैसे रहें?
मेरे विचारों में से एक, वास्तव में आंशिक दृश्य में कई टेक्स्टबॉक्स हैं जो किसी विशेष कार्य पर खर्च किए गए घंटों की संख्या का प्रतिनिधित्व करते हैं, एक सप्ताह के प्रति दिन टेक्स्टबॉक्स। जब मैं प्रारंभ में पृष्ठ लोड करता हूं, तो मैं उन सभी घंटों को प्रदर्शित करने के लिए दृश्य में एक टेक्स्टबॉक्स चाहता हूं। इसके अतिरिक्त, मैं चाहता हूं कि कुल अपडेट करें क्योंकि मैं टेक्स्टबॉक्स में मानों को बदलता हूं। टेक्स्टबॉक्स में अपडेट पूर्ण पोस्टबैक का कारण नहीं बनता है, केवल एक AJAX पोस्टबैक जो परिणामों के साथ कुछ भी नहीं करता है (पोस्टबैक डीबी पर मान अपडेट करता है लेकिन रिटर्न एक्शन रिसेट एक खाली है, क्योंकि मुझे कुछ भी अपडेट करने की ज़रूरत नहीं है यूआई)।
वर्तमान में मेरे पास नियंत्रक एक दृश्य बनाता है जो उस दृश्य के लिए "कुल" के साथ पॉप्युलेट किया गया है, इसलिए तर्क जो सभी मान जोड़ता है वह सी # नियंत्रक में है। यूआई पक्ष पर, मेरे पास जावास्क्रिप्ट है जो यूआई स्तर पर कुल अपडेट करता है। लेकिन यह अच्छा नहीं है क्योंकि अगर मैं इस तर्क की गणना करता हूं कि कुल गणना कैसे की जाती है, तो मुझे इसे दो स्थानों में बदलना होगा! आह! सूखा नहीं!
तो, मैं यह कैसे कर सकता हूं? मेरे पास अब तक का एकमात्र उत्तर जावास्क्रिप्ट कोड को स्क्रैप करना है जो यूआई पर कुल की गणना करता है और इसके बजाय AJAX पोस्टबैक उस दृश्य के लिए नया "कुल" लौटाता है।
क्या अन्य दृष्टिकोण हैं?
यह * एक मार्गदर्शक सिद्धांत है, कानून नहीं। यदि आपको दोनों जगहों पर तर्क की आवश्यकता है, और यह समान कार्यान्वयन को साझा करने के लिए तकनीकी रूप से व्यवहार्य नहीं है, तो आपको इसे दो बार लागू करना होगा। कठिन भाग्य, वह जीवन है। ;) – jalf
@jalf: बिल्कुल। ए (कोई भी) दिशानिर्देश अस्तित्व का एक अटूट कानून नहीं है। – Richard
ठीक है, ध्यान दिया और बदल गया;) –