التجريد وتصميم البرنامج
مُقدَّم| English | المعنى |
|---|---|
| abstraction/əbˈstrækʃn/ | تجريد |
| procedural abstraction/prəˈsiːdʒərəl əbˈstrækʃn/ | تجريد إجرائي |
| method decomposition/ˈmeθəd ˌdiːkɒmpəˈzɪʃn/ | تحليل طريقة |
إخفاء التفاصيل
- التجريد يعني إخفاء التفاصيل للتركيز على الفكرة الرئيسية.
- أنت تقود السيارة بالمقود والدواسة — لا بمعرفة internals المحرك.
- في الكود، التجريد lets لك استخدام شيء بـ ماذا يفعل، وليس كيف.
- إنه أهم فكرة لإدارة البرامج الكبيرة.
تجريد إجرائي
- التجريد الإجرائي يعبئ السلوك في طريقة تستدعيها باسم.
- بمجرد كتابتها،
average(scores)تُستخدم لنتيجتها — الكود الداخلي مخفي. - اسم الطريقة ومعاملاتها (واجهة) هي كل ما يحتاجه المكالِم.
- هذا بالضبط كيف تستخدم طرق المكتبات مثل
Math.sqrt.
تفكيك الطرق
- قم بتقسيم مشكلة كبيرة إلى سلوكات أصغر، كل منها طريقة خاصة بها — تفكيك الطرق.
- "معالجة طلب" →
checkStock()،chargeCard()،ship(). - الطرق الصغيرة والمسماة أسهل في الكتابة والاختبار وإعادة الاستخدام.
- الطريقة الرئيسية حينها تقرأ كملخص عالي المستوى.
تخطيط الفئة
- لتصميم فئة، حدد ما بيانات تحتفظ به وما سلوكات تقدمه.
- الـ
Studentله بيانات (اسم، درجات) وسلوكيات (addScore،average). - التصميم الجيد يجمع البيانات والسلوك المرتبطين معاً.
- التخطيط مسبقاً يجعل بناء البرنامج وقراءته وإعادة استخدامه أسهل.
واجهة أم تنفيذ؟
التجريد يخفي الكيفية خلف ما بسيط. رتب كل عنصر.
التجريد يتعلق بالواجهة، وليس التنفيذ. مكالِم average(scores) يحتاج فقط اسمه، مدخلاته، ونتيجته — أبداً الحلقة الداخلية. صمم كل طريقة لتقوم بـ وظيفة واضحة واحدة (تفكيك الطرق)؛ طريقة تقوم بخمس أشياء غير مرتبطة يصعب تسميتها واختبارها وإعادة استخدامها. خطط للفئة كـ بيانات + سلوكات قبل كتابة الكود.
تصميم فئة Student:
- البيانات: اسم الطالب وقائمة الدرجات.
- السلوكيات:
addScore(s)،average()،highest(). - المكالِم يستخدم
student.average()لأجل نتيجته — الحساب مخفي داخله.
التجريد يخفي التفاصيل للتركيز على الفكرة الرئيسية؛ التجريد الإجرائي lets لك استخدام طريقة بـ ماذا تفعل، وليس كيف. تفكيك الطرق يقسم مشكلة كبيرة إلى سلوكات صغيرة ومسماة. صمم فئة بقرار بياناتها وسلوكاتها — التصميم الجيد يجعل الكود أسهل في البناء والقراءة وإعادة الاستخدام.
التجريد أفضل ما يمكن وصفه بأنه...
Difficulty 1/5 · 100 coins + a small bonus on first completion today
التجريد يخفي كيفية عمل شيء ما حتى تتمكن من استخدام ما يقوم به.
التج PROCEDURAL lets you use a method by...
Difficulty 1/5 · 100 coins + a small bonus on first completion today
تدعوه باسمه ومدخلاته، وليس بمحتوياته الداخلية.
تكبير مشكلة كبيرة إلى سلوكيات أصغر ذات أسماء (methods) يسمى طريقة ___ (كلمة واحدة).
Difficulty 1/5 · 100 coins + a small bonus on first completion today
تفكيك الطريقة يقسم العمل إلى طرق مركزة.
عند تصميم فئة، ماذا يجب أن تقرر؟
Difficulty 2/5 · 140 coins + a small bonus on first completion today
التصميم يتعلق بالبيانات + السلوكيات، مجمعة بعقلانية — ليس العناوين.
التصميم الجيد للبرنامج يجعل بناء البرنامج وقراءته وإعادة استخدامه أسهل.
Difficulty 1/5 · 100 coins + a small bonus on first completion today
هذا هو العائد من التجريد والتفكيك.