पृष्ठभूमि:
मैं उन उपकरणों पर काम कर रहा हूं जो तेजी से बदलते एपीआई पर निर्भर होंगे और तेजी से बदल रहे डेटा मॉडल पर निर्भर होंगे जिन पर मेरा शून्य नियंत्रण होगा।
डेटा मॉडल और एपीआई परिवर्तन आम हैं, यहां मुद्दा यह है कि मेरा कोड वर्तमान और सभी पिछले संस्करणों (यानी 100% बैकवर्ड संगतता) के साथ काम करना जारी रखेगा क्योंकि सभी आंतरिक रूप से उपयोग जारी रहेगा।परिवर्तन सहिष्णुता के लिए सुझाव
यह भी शान से नीचा होना चाहिए जब यह याद आ रही/अज्ञात सुविधाओं आदि
उपकरण सी # WinForms साथ में लिखा जाएगा में चलाता है और परीक्षण कस्टम हार्डवेयर के लिए कर रहे हैं।
<Edit>
मेरा लक्ष्य केवल सुविधाओं को जोड़ने के लिए और जब डेटा मॉडल परिवर्तन आते हैं, एपीआई संस्करण पर आधारित है कि एक कारखाने के द्वारा बनाई गई हो जाएगी डाटा मॉडल कक्षाओं का एक नया सेट बनाने कक्षाएं बनाने के लिए होने के करीब कुछ होगा ।
मेरे लिए चुनौती यह है कि भविष्य की विशेषताएं विशिष्ट डेटा मॉडल पर निर्भर हो सकती हैं, जिन्हें मिश्रित और मिलान किया जा सकता है (जब तक अंतिम कॉम्बो तक नहीं पहुंच जाता)। आप इसे कैसे सुदृढ़ तरीके से संभालेंगे?
<Edit2>
बेशक, एक बार एक उत्पाद भेज दिया जाता है, मैं उपकरण पुन: उपयोग करने और सिर्फ नए उत्पादों के लिए कोड जोड़ने के लिए चाहते हैं। इससे पहले कि मैं यहाँ शुरू कर दिया, हर उत्पाद चक्र (खरोंच से) सभी टूलींग, कुछ को फिर से लिखने मैं :) भविष्य में रोकने के लिए लक्ष्य का मतलब
</Edit>
प्रश्न:
क्या डिजाइन तकनीकों और पैटर्न आप सुझाव है या होता है एपीआई/डेटा मॉडल के कई संस्करणों के साथ संगतता बनाए रखने के साथ सफलता मिली है?
मुझे किस नुकसान के लिए देखना चाहिए?
क्या एपीआई/डेटा मॉडल पुस्तकालय हैं जो जीएसी स्थापित हैं जिन्हें आपको संदर्भित करने की आवश्यकता है, या वे तृतीय पक्ष पुस्तकालय हैं जिन्हें आप अपने ऐप के साथ तैनात करते हैं जो कसकर अन्य सेवाओं के साथ मिलकर हैं? –
यह वास्तव में विभिन्न फर्मवेयर संस्करण हैं जिन्हें अभी भी टूल के साथ काम करने की आवश्यकता है। –