Association (অ্যাসোসিয়েশন)
অবজেক্টের ভাষায় Association বলতে দুটি সম্পর্কিত অবজেক্টের মধ্যে "has a" (হেস-এ) রিলেশনশিপ বোঝায়। উদাহরণস্বরূপ, একজন কর্মচারির (Employee) একটি কমিউনিকেশন অ্যাড্রেস (Address) থাকে।
class Employee {
String name;
Address communicationAddress;
}
class Address {
String address;
}
Aggregation (এগরিগেশন)
Aggregation বলতে দুটি সম্পর্কিত অবজেক্টের মধ্যে "has a+" রিলেশনশিপ বোঝায়। উদাহরণস্বরূপ, একটি ডিপার্টমেন্টের (Department) অধীনে একাধিক কর্মচারি (Employee) থাকে। এটি প্যারেন্ট ক্লাসে চাইল্ড অবজেক্টের কালেকশন থাকাকে বোঝায়।
class Department {
String name;
List employees;
}
class Employee {
String name;
}
Association এবং Aggregation-এর মধ্যে পার্থক্য
| ক্র. নং | কী | Association | Aggregation |
|---|---|---|---|
| ১ | সংজ্ঞা | Association হলো দুটি ক্লাসের মধ্যে "has a" রিলেশনশিপ যারা একে অপর ব্যবহার করে। | Aggregation হলো দুটি ক্লাসের মধ্যে "has a+" রিলেশনশিপ যেখানে একটি ক্লাস অন্য ক্লাসের অবজেক্টের কালেকশন ধারণ করে। |
| ২ | ফ্লেক্সিবিলিটি (Flexibility) | ইনফ্লেক্সিবল (কঠোর) স্বভাবের। | ফ্লেক্সিবল (নমনীয়) স্বভাবের। |
| ৩ | লিঙ্কেজ (Linkage) | Association বজায় রাখতে লিঙ্কেজ প্রয়োজন। | অবজেক্টের মধ্যে লিঙ্কেজ বাধ্যতামূলক নয়। |
| ৪ | UML নোটেশন | Association রিপ্রেজেন্ট করতে লাইন (line) ব্যবহার করা হয়। | Aggregation রিপ্রেজেন্ট করতে অ্যাসেম্বলি ক্লাসের পাশে ডায়মন্ড শেপ (diamond shape) ব্যবহার করা হয়। |