Table of Contents

مقدمة: مكنيم الآجلة والديف من وضع مدونة مستدامة

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

ما هي مبادئ SOLID؟

ويلخص اسم المختصر في إطار مبادرة " SOLID " خمسة مبادئ تصميمية ذات وجهة موضوعية، تُنتج، عند تطبيقها بشكل متسق، نظماً يسهل فهمها وتوسيعها وتكرارها، ويضع استعراض موجز لكل مبدأ مرحلة لفهم أثرها التشغيلي.

مبدأ المسؤولية الوحيدة

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

المبدأ المفتوح/المغلق

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

Liskov Substitution Principle (LSP)

ويجب أن تكون النماذج الفرعية قابلة للاستبدال لأنواعها الأساسية دون تغيير صحة البرنامج، ويكفل نظام الأفضليات المعمم أن تكون هرميات الميراث مصممة تصميما جيدا: ينبغي أن يتصرف طبقة مستمدة بطريقة تتفق مع والديها، وهذا المبدأ حاسم بالنسبة للإحلال بتعدد المورف، الذي يقوم على العديد من أنماط التصميم والتكامل الإطاري.

مبدأ الفصل بين الأوجه

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

مبدأ الإعالة

يجب ألا تعتمد الوحدات الرفيعة المستوى على وحدات منخفضة المستوى، على كل من الخلاصات، علاوة على أن الخلاصات لا ينبغي أن تتوقف على التفاصيل؛ التفاصيل ينبغي أن تتوقف على الخلاصات.

How SOLID Principles Fuel Agile and DevOps Continuous Delive

ويزدهر الاتفاق والجهازان على القدرة على التكرار بسرعة، والاختبار تلقائيا، والوزع بشكل متكرر، ويعالج كل مبدأ من مبادئ مبادرة شولدايد الدولية مباشرة عقبة مشتركة أمام هذه الأهداف، وتكشف الفروع التالية المساهمات العملية لكل مبدأ في سياق مستمر للتنفيذ.

مبدأ المسؤولية الوحيدة: التمكين من التركيز على الملاحقات والعمل الموازي

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

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

المبدآن المفتوح/المغلق: تيسير النظارات المميزة والمعمارات البلوجينية

(ب) إن التنفيذ المستمر يعتمد في كثير من الأحيان على نظارات أو فروع من خلال المكافحة لإدارة السمات الواردة دون زعزعة استقرار الخط الرئيسي، ويوفّر المبدأ المفتوح/المغلق أساساً هيكلياً طبيعياً لهذه التقنيات، ويمكن للفرق، من خلال البرمجة على واجهة واستخدام حقنة التبعية، أن تستحدث سلوكاً جديداً من خلال رموز إضافية بدلاً من تعديل النماذج الحالية التي تستخدم فيها أسعار الصرف.

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

Liskov Substitution Principle: Ensuring Predictable Test Results and Refactoring Safety

فالاختبارات الآلية هي العمود الفقري لأي خط من خطوط الأنابيب المستمرة، إذ أن من الضروري أن تكون الصيغ الفرعية، التي تُعدّل بشكل كامل لأنواعها الأساسية، أن تضمن عدم حدوث انتهاكات مخفية، وعندما يحل المطور محل خدمة أساسية مع التنفيذ المستمد (مثلاً، تبادل المستودعات البصمية الداخلية) مع قاعدة بيانات متوافقة.

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

مبدأ الفصل بين الأوجه: التقليل إلى أدنى حد من تأثير خط الأنابيب وتشجيع تفريق الليان

ولا تُعد خطوط الأنابيب المستمرة للتوصيل إلا أسرع مكوناتها، وعندما تنفذ الدائرة واجهة كبيرة تشمل أساليب لا صلة لها بسياقها، تنشأ أيضاً عمليات تقارب غير ضرورية، وتُحدِّد التغييرات في أي طريقة في عملية إعادة تجميع قوة الوصل البينية، وتعيد اختبارها، وتعيد توزيعها على جميع العملاء حتى الذين لا يستخدمون الطريقة المتغيّرة.() وتُواجه هذه الوصلات البينية الكبيرة إلى هياكل صغيرة محددة.()

كما يدعم نظام المعلومات المسبقة عن علم ممارسة ) للنشرات التراكمية - الخضراء و [الآليات التطبيقية المحولة ، وعندما تكون التفاعلات مائلة ومركَّزة على العملاء، لا تُجبر على تحديث شروط عقود العملاء غير المتصلة بالمستهلكين.

مبدأ التبعية: الفصل في القابلية للاختبار ومرونة البنية التحتية

وربما لا يكون لهذا المبدأ تأثير أكبر على أجهزة الشرطة أكثر من تأثيرها على أجهزة مكافحة المخدرات، فالاعتماد على الخلاصات بدلاً من التنفيذ الملموس، يصبح منطق الأعمال على مستوى عال مناعة للتغييرات في المكتبات الخارجية، أو قواعد البيانات، أو خدمات الأطراف الثالثة، وهذا التحلل ضروري لإنشاء [اختبارات اختبارات] قابلة للاختبارات عندما تكون - شرط أساسي لشبكة الاختبار الآلية التي تُلزم كل عملية من عمليات الصيد.

كما أن تطبيق نظام إدارة الديون والتحليل المتكامل ييسر أيضاً نقل الهياكل الأساسية، فعلى سبيل المثال، يمكن أن يتبادل تطبيقات السحاب التي تتبع برنامج التنمية المستدامة تنفيذ برنامج " دينامو " (AWS) من أجل مشعل غوغل كلود، وذلك بمجرد توفير تنفيذ جديد للوصلة الوديوية، وهذا يتوافق مع أهداف التنمية المتمثلة في البنية التحتية غير القابلة للاختراق، مع تحول الهياكل الأساسية إلى تشكيل بدلاً من وضع المعايير.

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

استراتيجيات التكامل العملي لأفرقة الأدوات والأجهزة المعنية

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

Adopt Test-Driven Development (TDD) as a SOLID Enforcer

ومن الطبيعي أن يشجع مجلس التنمية على الانضمام إلى برنامج المساعدة القانونية الدولية لأن الكتابة تختبر على المطورين الأوليين أن يفكروا في الوصلات البينية، والعالين، والمسؤوليات الوحيدة، والوحدة التي يمكن أن يُشهد عليها هي عادة وحدة مصممة تصميما جيدا: فهي تتبع حدودا واضحة، وتتقبل المعالين عن طريق التحويل، بما في ذلك عمليات التفتيش على معايير استعراض الرموز (مثلا، هل يوجد لدى هذه الفئة أكثر من سبب واحد للتغيير)؟

تصميم خطوط بيانية للشبكة الدولية لمكافحة التصحر لاحترام الحدود الدنيا

وينبغي تنظيم خطوط أنابيب التكامل المستمر لإجراء اختبارات على أساس الحزم المناسب: اختبارات الوحدة على عناصر واحدة (مخطط عام، خطة العمل الوطنية)، واختبارات التكامل بشأن عقود الوصل البينية، واختبارات نهاية المرحلة النهائية لتدفقات السمات، وإتاحة البناء إلى مراحل تتواءم مع خلاصات برنامج SOLID، مما يؤدي إلى تخفيض اختبارات الوصل بين خط الأنابيب - يمكن أن تجري بصورة مستقلة عن التنفيذ الفعلي.

استخدام نظام " سوليد " في دليل إجراءات الخدمات البالغة الصغر

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

إطارات حقن الإعالة وتحول حاويات التحكم

وتبنى حاويات حديثة من أجهزة الاستنشاق (Spring, Google Guice, Cass Windsor, etc.) حول DIP، وهي تُركز على أسلاك الخلاصات على التنفيذ، مما يجعلها تافهة في تبادل التنفيذات لمختلف البيئات أو في السخرية في الاختبارات، وينبغي أن تعتمد الأفرقة آلية موحدة للتعبير عن المعالين - البناء - الحقن مفضلة وتتجنب أنماط العزل.

المفاعل المستمر للشركة

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

دراسة حالة: SOLID في سيناريو عالمي حقيقي مستمر

النظر في برنامج للتجارة الإلكترونية يجب أن يُدخل بسرعة خيارات جديدة للدفع وحملات ترويجية، وقد تم بناءه في البداية بدون SOLID، وتناولت الفئة الأحادية ] معالجة كل شيء، وفحص المخزون، وحساب الضرائب، والإخطارات بالبريد الإلكتروني، ولزم كل تغيير تعديل تلك الفئة الواحدة، مما أدى إلى حدوث تراجعات في الطلب وتواتر نشر مرة في الربع، بعد إعادة تصنيع المبادئ:

  • SRP]: Split into , , , and . ولكل فئة سبب واحد للتغيير.
  • OCP: استخدم تجهيز المدفوعات نمطاً استراتيجياً مع واجهة .() وشمل إضافة بوابة جديدة (مثلاً، ( Stripe) تنفيذ الوصلة البينية وتسجيلها عن طريق التكوين - لا تغييرات في جهاز التفتيش.
  • LSP: جميع عمليات تنفيذ البوابة أعادت نتائج موحدة، بما يكفل أن تعاملها بطريقة متبادلة.
  • ISP]: لم يكن للواجهة سوى طريقة ، منفصلة عن واجهات الإخطار الأخرى، مما حال دون استخدام خدمة البريد الإلكتروني وفقاً لأساليب غير مستخدمة.
  • DIP]: يتوقف تجهيز الطلبات الرفيعة المستوى على الخلاصات، واستخدمت الاختبارات عمليات تنفيذ مركب لهذه الخلاصات، مما يسمح لجهة اختبار الوحدة بأن تدار في الألف ثانية دون معالين خارجيين.

ونتيجة لذلك، زاد الفريق من تواتر النشر إلى عدة مرات يوميا، وقلّص من العيوب التراجعية بنسبة 70 في المائة، وقطع الفترة الزمنية اللازمة لإدماج المدفوعات الجديدة من أسبوعين إلى يومين.

خاتمة

إن مبادئ المنظمة ليست رفاهية أكاديمية - بل هي ضرورة عملية لأي فريق يتطلع إلى تحقيق تقدم مستمر مستدام في إطار نظام " أغيل " و " ديببس " ، إذ إن تطبيق قواعد السلوك على نظام " أوفر " ، و " أوبستريا " ، و " " تُحدِّد " عملية التطوّق الهيكلي " ، وتُحد من درجة أكبر من المرونة التي تُت عندما تتطور بسرعة.

To deepen your understanding, explore resources from Robert C. Martin’s original writings], the ]Microservices article by Martin Fowler, and the Agile Manifesto context provide modern sources to connectal design.