ايه الفرق بين 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
إعجاب
3865
مشاهدات
0
مشاركة
1
متابع

التعليقات (0)

لايوجد لديك حساب في عالم البرمجة؟

تحب تنضم لعالم البرمجة؟ وتنشئ عالمك الخاص، تنشر المقالات، الدورات، تشارك المبرمجين وتساعد الآخرين، اشترك الآن بخطوات يسيرة !