ايه الفرق بين aggregation,association,composition
مقدمة بسيطة عن aggregation,association,composition
#اللهم_صل_علي_سيدنا_محمد
هنتكلم عن
Association, aggregation, Composition
نبدأ ب Association
لو فيه كلاسين هيتواصلوا مع بعض لازم يكون فيه link or connector ده بنمثله عن طريق association
فى UML Notation بيكون خط متصل بين ال two classes
وممكن كمان نضيف نسبة المشاركة بمعني
الكلاس الاول بيشارك بكام عنصر مع التاني
بمثال يتضح المقال
نقول ان الطالب ممكن يسجل ف اكتر من كورس
تبقي العلاقة 1..* من الطالب للكورس
طب aggregation, Composition ?
الاتنين حالة خاصة من ال Association
واللى كل فيهم احد الكلاسين ب own "بيمتلك " الاخر لكن بيختلفوا ف كيفية الامتلاك والارتباط
الاول aggregation ؟
تمثل علاقة whole - part اي احد الكلاسين بيكون whole والتاني part
زي ان المحرك engine جزء من العربية car
كمان العلاقة هي weak association
بمعني ان ال part بيتواجد مستقلا (independently)عن whole
بمعنى تاني لو حصل دمار لل whole مش شرط ان part يتدمر
بمعني اخر ان part يمكن منطقيا ان يتواجد منفردا (زي المحرك ممكن يكون فيه محرك وميكنش داخل سيارة -قطع غيار -)
تمثل فى UML عن طريق معين diamond مفتوح بيكون عند whole
اخر حاجة Composition ؟
ده الكبير بتاعهم وهنا هو strong association بمعنى فيه ارتباط قوي جدا بين part - whole
تصدق لدرجة ان ال part مينفعش يتواجد بدون whole (احنا مفيش قوة تقدر تفرقنا عن بعض )
وكمان لو حصل تدمير delete لل whole يحصل تلقائيا تدمير لل parts (مش مستحملين الفراق -ربنا يحفظهم لبعض )
وده بيمثل ف UML زي Aggregation لكن closed diamond
التعليقات (0)
لايوجد لديك حساب في عالم البرمجة؟
تحب تنضم لعالم البرمجة؟ وتنشئ عالمك الخاص، تنشر المقالات، الدورات، تشارك المبرمجين وتساعد الآخرين، اشترك الآن بخطوات يسيرة !