فحص تصميمات الواجهة
- 5 دقائق
لنفترض أن هناك العديد من المبرمجين الذين يطورون نظام إدارة المكتبات، ويكلف مبرمجان بإدارة الكتب القابلة للاقتراض. محمود، أحد المبرمجين، يصمم فصلا يسمى BorrowableBook بأساليب للاقتراض وإعادة الكتب. يقوم Mahmud بإنشاء أسلوب يسمى Borrow للسماح للمستخدمين باستعارة كتاب وطريقة أخرى تسمى Return للتعامل مع إرجاعه. تضمن هذه الطرق تتبع توفر الكتاب بشكل صحيح وتقديم ملاحظات واضحة للمستخدم.
يارا، مطور آخر، غير مدرك لجهود محمود. ينشئ Yara فئة مماثلة ولكنه يستخدم اصطلاحات تسمية مختلفة، مثل Checkout و GiveBack. يمكن أن يسبب هذا التضارب ارتباكا وإحباطا للمبرمجين الآخرين الذين يعملون على المشروع، حيث يحتاجون إلى تعلم أسماء أساليب مختلفة للحصول على وظائف مماثلة.
إذا تم تعريف أساليب إدارة الكتب باستمرار، فيمكن للمبرمجين تعلم كيفية استخدامها بسرعة. لا يتعين عليهم إعادة تعلم كيفية استعارة كتاب أو إرجاعه في كل مرة يواجهون فيها فصلا جديدا. يساعد إنشاء معايير التعليمات البرمجية مقدما على تبسيط التعليمات البرمجية للمشروع وتسهيل صيانته.
معايير الترميز
يعني توحيد التعليمات البرمجية إنشاء مجموعة من القواعد لكتابة التعليمات البرمجية واتباعها. تساعد هذه القواعد في الحفاظ على اتساق التعليمات البرمجية وسهولة قراءتها عبر المشروع. عندما يتبع الجميع القواعد نفسها، يكون من الأسهل على المبرمجين المختلفين فهم التعليمات البرمجية لبعضهم البعض والعمل معها. تساعد التوحيد القياسي أيضا على منع الأخطاء، وتحسين جودة التعليمات البرمجية، وجعلها أسرع للتحقق من وجود أخطاء في التعليمات البرمجية.
يمكن أن يساعد استخدام الواجهات في إنشاء توحيد التعليمات البرمجية، نظرا لأن الواجهات تعمل كعقود للتعليمات البرمجية. عند تعريف واجهة، فإنك تؤكد أن أي فئة تستخدم هذه الواجهة يجب أن يكون لها أساليب وخصائص معينة. يمكن أن يساعد استخدام الواجهات أيضا في منع التعليمات البرمجية المقترنة بإحكام، ما يسمح لك بالالتزام بمعايير التصميم بشكل أفضل.
مبادئ تصميم SOLID
SOLID هو اختصار لخمسة مبادئ تصميم للبرمجة الموجهة للكائنات، والواجهات هي عنصر حاسم في هذه المبادئ. مبادئ التصميم الصلبة هي:
مبدأ المسؤولية الفردية (SRP): يجب أن تركز الفئة على مهمة واحدة واضحة والتعامل معها تماما. لذلك، يجب أن تتغير الفئة لسبب محدد واحد فقط.
مبدأ مفتوح/مغلق (OCP): يجب أن تكون الفئة مفتوحة للامتداد ولكنها مغلقة للتعديل. بمعنى آخر، يجب أن تكون قادرا على إضافة وظائف جديدة إلى فئة دون تغيير التعليمات البرمجية الموجودة.
مبدأ استبدال Liskov (LSP): يجب أن تكون الأنواع الفرعية قابلة للاستبدال للأنوان الأساسية الخاصة بها. بمعنى آخر، إذا تمت كتابة برنامج للعمل مع نوع معين من العناصر، يجب أن يكون أي نوع فرعي من هذا الكائن قادرا على استبداله دون التسبب في أخطاء.
مبدأ الفصل بين الواجهة (ISP): لا ينبغي إجبار الفئات على الاعتماد على الواجهات التي لا تستخدمها. بدلا من ذلك، يجب تصميم الواجهات لتوفير الوظائف التي تحتاجها الفئات فقط.
مبدأ انعكاس التبعية (DIP): بدلا من الفئات اعتمادا على المكونات الأخرى مباشرة، يجب أن تعتمد بدلا من ذلك على الواجهات أو الفئات المجردة التي تحدد السلوك المطلوب. يسمح تجريد تعريف السلوك بمزيد من المرونة والنمطية في المشروع، حيث لا تؤثر التغييرات على أحد المكونات على المكونات الأخرى.
باتباع هذه المبادئ، يمكن للمطورين إنشاء برامج أسهل في التعديل والاختبار والصيانة، مع اقتران أكثر مرونة وتماسك أفضل بين المكونات. تستخدم مبادئ SOLID على نطاق واسع في البرمجة الموجهة للكائنات وتعتبر أفضل ممارسة في تطوير البرمجيات.
اختر أفضل إجابة لكل سؤال مِن الأسئلة أدناه.
اختبر معلوماتك
الملاحظات
هل كانت هذه الصفحة مفيدة؟
لا
هل تحتاج إلى مساعدة مع هذا الموضوع؟
هل تريد محاولة استخدام Ask Learn لتوضيح هذا الموضوع أو إرشادك خلاله؟