অ্যাসোসিয়েশন, অ্যাগ্রিগেশন, এবং কম্পোজিশন

ক্লাস ডায়াগ্রাম (Class Diagram) - ইউএমএল (UML) - Computer Science

181

অবজেক্ট-অরিয়েন্টেড প্রোগ্রামিংয়ে (OOP), অ্যাসোসিয়েশন, অ্যাগ্রিগেশন এবং কম্পোজিশন হল তিনটি গুরুত্বপূর্ণ সম্পর্ক যা ক্লাস এবং অবজেক্টের মধ্যে সম্পর্ক নির্ধারণ করে। প্রতিটি সম্পর্কের নিজস্ব বৈশিষ্ট্য ও ব্যবহার রয়েছে। নিচে এদের মধ্যে পার্থক্য এবং ভূমিকা আলোচনা করা হলো:

১. অ্যাসোসিয়েশন (Association)

  • সংজ্ঞা: অ্যাসোসিয়েশন হল দুটি ক্লাসের মধ্যে একটি সাধারণ সম্পর্ক। এটি সাধারণত "হাস" (has-a) সম্পর্ক নির্দেশ করে।
  • বৈশিষ্ট্য:
    • দুইপক্ষীয় সম্পর্ক: অ্যাসোসিয়েশন সাধারণত দুইটি ক্লাসের মধ্যে একটি দিক নির্দেশ করে, তবে এটি দ্বিপাক্ষিক (bidirectional) হতে পারে।
    • শক্তি: এই সম্পর্কের শক্তি সাধারণত দুর্বল; অর্থাৎ, এক ক্লাসের অবজেক্ট অন্য ক্লাসের অবজেক্টের উপর নির্ভরশীল নয়।
  • উদাহরণ: একজন Student ক্লাস এবং Course ক্লাসের মধ্যে অ্যাসোসিয়েশন হতে পারে, যেখানে একজন ছাত্র একাধিক কোর্সে ভর্তি হতে পারে।

২. অ্যাগ্রিগেশন (Aggregation)

  • সংজ্ঞা: অ্যাগ্রিগেশন হল একটি বিশেষ ধরনের অ্যাসোসিয়েশন যা "হাস-a" সম্পর্ক নির্দেশ করে, তবে এটি একটি অংশ-সম্পর্ক নির্দেশ করে। অর্থাৎ, একটি ক্লাসের অবজেক্ট আরেকটি ক্লাসের অবজেক্টের অংশ হতে পারে।
  • বৈশিষ্ট্য:
    • দূরত্বপূর্ণ সম্পর্ক: অ্যাগ্রিগেশন একটি দুর্বল সম্পর্ক নির্দেশ করে, যেখানে একটি ক্লাসের অবজেক্ট অন্য ক্লাসের অবজেক্টকে ধারণ করে, তবে এটি বিচ্ছিন্নভাবে বিদ্যমান থাকতে পারে।
    • অবজেক্টের জীবনকাল: অ্যাগ্রিগেশন সম্পর্কের মধ্যে, অংশ অবজেক্টের জীবনকাল মূল অবজেক্টের জীবনকাল থেকে আলাদা।
  • উদাহরণ: একটি Department ক্লাস এবং Professor ক্লাসের মধ্যে অ্যাগ্রিগেশন থাকতে পারে, যেখানে একটি বিভাগের মধ্যে একাধিক অধ্যাপক থাকতে পারে, কিন্তু অধ্যাপকরা বিভাগের বাইরেও বিদ্যমান থাকতে পারে।

৩. কম্পোজিশন (Composition)

  • সংজ্ঞা: কম্পোজিশন হল একটি শক্তিশালী অংশ-সম্পর্ক, যা "হাস-a" সম্পর্ক নির্দেশ করে এবং এটি একটি মালিকানা সম্পর্ক বোঝায়।
  • বৈশিষ্ট্য:
    • শক্তিশালী সম্পর্ক: কম্পোজিশন একটি শক্তিশালী সম্পর্ক নির্দেশ করে, যেখানে একটি ক্লাসের অবজেক্ট অন্য ক্লাসের অবজেক্টকে ধারণ করে এবং এটি অংশ অবজেক্টের জীবনকাল মূল অবজেক্টের উপর নির্ভরশীল।
    • অবজেক্টের জীবনকাল: মূল অবজেক্ট ধ্বংস হলে অংশ অবজেক্টও ধ্বংস হয়।
  • উদাহরণ: একটি House ক্লাস এবং Room ক্লাসের মধ্যে কম্পোজিশন থাকতে পারে, যেখানে একটি বাড়ির মধ্যে বিভিন্ন রুম থাকতে পারে এবং একটি বাড়ি ধ্বংস হলে রুমগুলিও ধ্বংস হয়।

উপসংহার

অ্যাসোসিয়েশন, অ্যাগ্রিগেশন এবং কম্পোজিশন হল OOP তে ক্লাস এবং অবজেক্টের মধ্যে সম্পর্ক বোঝার জন্য গুরুত্বপূর্ণ ধারণা।

  • অ্যাসোসিয়েশন সাধারণ সম্পর্ক নির্দেশ করে,
  • অ্যাগ্রিগেশন অংশ-সম্পর্ক বোঝায় যেখানে অংশ অবজেক্টগুলি মূল অবজেক্টের বাইরে বিদ্যমান থাকতে পারে,
  • কম্পোজিশন একটি শক্তিশালী মালিকানা সম্পর্ক নির্দেশ করে যেখানে অংশ অবজেক্টগুলি মূল অবজেক্টের জীবনকাল দ্বারা নির্ধারিত হয়। এই সম্পর্কগুলি সফটওয়্যার ডিজাইন ও উন্নয়নে একটি পরিষ্কার এবং সংগঠিত কাঠামো তৈরি করতে সহায়ক।
Content added By
Promotion

Are you sure to start over?

Loading...