سؤال

ومن تجربتي، والالتزامات إلى الوراء / إلى الأمام التوافق هي قفص مذهب لل صناعة البرمجيات الهندسية. ولقد لوحظ بشكل خاص أن تكون هذه هي الحال بالنسبة لتنسيقات الملفات وثيقة ولغات البرمجة / واجهات برمجة التطبيقات. العملاء والشركاء أكره ذلك عندما فواصل البيانات أو التعليمات البرمجية الموجودة بها؛ ومع ذلك، إذا كنت أبدا كسر التوافق، يمكنك تقييد بجدية قدرتك على الابتكار على المدى الطويل.

هل هناك حلول لهذه المشكلة، وغيرها من انتقاص التدريجي من الميزات القديمة؟ يبدو مثل المحاكاة الافتراضية، كما هو الحال في الوضع XP ويندوز 7، هو واحد إمكانية مثيرة. هل هناك غيرها؟

وأيضا، بالنسبة لأولئك منا الذين ترغب في تصميم الأنظمة الجديدة التي هي على النحو المستقبل برهان ممكن، ما هي الدروس التي يمكن أن نتعلمها من أخطاء الماضي المحرز في الصناعة؟

هل كانت مفيدة؟

المحلول

والابتكار من خلال توسيع، وليس عن طريق إعادة كتابة واجهات برمجة التطبيقات العامة. هل لديك متسقة واجهات عامة الجمهور على الخلفية وظيفة. يمكنك إعادة كتابة وحدات خاصة في أي وقت طالما كنت توريد وحدات API العامة مع النتائج التي يتوقعونها.

هل التحسينات الخاصة بك في الخلفية وترك API متسق قدر الإمكان. إنشاء وحدات جديدة وتوثيقها بشكل واضح عندما تمتد الأجزاء العامة API الخاصة بك، وانتقاص من الطرق القديمة تأتي بشكل طبيعي في حالة توفير طرق جديدة وأفضل لفعل الأشياء التي تأتي كإضافات إلى الأساليب القديمة.

لتنسيقات المستندات، وتشمل دائما أرقام إصدار والتأكد من لديك وسائل لدعم كافة الإصدارات موجودة. كما هو الحال مع واجهات برمجة التطبيقات، إضافة وظائف جديدة من خلال توسيع، وليس عن طريق إعادة كتابة.

وعندما تريد إحداث تغييرات أساسية في البنية الكلية للبرنامج الخاص بك، والنسخة الجديدة تشمل واحدة من العمر وحدة نمطية - فإن ذلك سيؤدي إلى حجم أكبر ولكن دعم أفضل للبيانات والبرامج القديمة

نصائح أخرى

استخدم XML كأساس لتنسيق الملف الخاص بك، وفقط إضافة إلى DTD مواصفات، لا تحذف. بهذه الطريقة يجب أن تكون الملفات الخاصة بك الى الوراء متوافق مع الإصدارات السابقة، والذي هو زائد.

وهنا هو مثال جيد: عن طريق SLF4J الجسور للسماح الهجرة سهلة من وحدة تسجيل واحد إلى آخر في جاوة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top