التكوين في البرمجة Composition

اقرأ في هذا المقال


مفهوم التكوين Composition:

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

بشكل عام، يصمم التكوين (Composition) علاقة (لديه “has-a”) بين كائنين، سيارة “لديها” ناقل حركة، جهاز الكمبيوتر الخاص بك “لديه” وحدة المعالجة المركزية، لديك قلب، يسمى الكائن المعقد أحيانًا الكل أو الأصل، غالبًا ما يُطلق على الكائن الأبسط اسم الجزء أو العنصر الفرعي أو المكون.

مفهوم التكوين في البرمجة:

يمكن أن يحتوي الـ (class) على أعضاء بيانات من أنواع مختلفة، مثل الأنواع الأساسية كـ “int“، وأنواع معرفة من قِبل المستخدم كالكائنات، عندما نبني (class) بأعضاء بيانات، فإننا في الأساس نبني كائنًا معقدًا من أجزاء أبسط، وهو تكوين (Composition)، لهذا السبب، يُشار أحيانًا إلى (class) على أنها أنواع مركبة، يُسمح لنا بإنشاء (class) معقد من خلال الجمع بين الأجزاء الأبسط التي يمكن إدارتها بسهولة أكبر، هذا يقلل من التعقيد، ويسمح لنا بكتابة الكود بشكل أسرع وبأخطاء أقل؛ لأنه يمكننا من إعادة استخدام الكود التي تمت كتابته، واختباره والتحقق منه على أنه يعمل.

يعد التكوين أحد المفاهيم الأساسية في البرمجة الشيئية، والتكوين عملية جعل كائن (object) أحد أعضاء بيانات كلاس أخر، لإضافة علاقة التكوين، يجب أن يكون للكائن وللجزء (عضو بيانات الكلاس) العلاقة التالي:

  • الجزء (العضو) جزء من الكائن.
  • لا يمكن أن ينتمي الجزء إلا إلى كائن واحد في كل مرة.
  • الجزء يدير وجوده بواسطة الكائن.
  • الجزء لا يعلم بوجود الكائن .

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

الفوائد الرئيسية لاستخدام التركيب:

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

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

المصدر: Programming Composition PrinciplesOOP Concepts for Beginners: What is Composition?16.2 — CompositionComposition in Java


شارك المقالة: