অবজেক্ট ওরিয়েন্টেড নিয়ে একদম ফান্ডামেন্টাল যত কথা

Collected from unsplash.com

আমরা সকলেই জানি অবজেক্ট বা বস্তূ কি। প্রোগ্রামিং এর ভাষায় অবজেক্ট হলো এমন এক এন্টিটি(entity) যা কোন রিয়েল অবজেক্টকে রিপ্রেজেন্ট করে।

অবজেক্ট হচ্ছে কিছু ডাটা ও তার সাথে সংযুক্ত আচরণের সমষ্টি

বুঝলাম অবজেক্ট কি, কিন্ত অবজেক্ট ওরিয়েন্টেড আবার কি?

আমরা যখনই কোন কিছু নিয়ে কথা বলতে যাবো তাকে যদি আমরা বিভিন্ন অবজেক্ট দ্বারা বর্ণনা করতে চাই তাহলে তাই হবে অবজেক্ট ওরিয়েন্টেড। অর্থাৎ কোনকিছুকে ডাটা ও সাথে আচরণ দ্বারা বর্ণনা করার প্রক্রিয়াই হলো অবজেক্ট ওরিয়েন্টেড

সফটওয়্যার ইঞ্জিনিয়ারিংয়ে মূলত ৩ ধরনের অবজেক্ট ওরিয়েন্টেড জিনিস আছেঃ

. অবজেক্ট ওরিয়েন্টেড এনালাইসিস (OOA)

২. অবজেক্ট ওরিয়েন্টেড ডিজাইন (OOD) এবং

৩. অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং (OOP)

Property = Data, Method = Behavior

অবজেক্ট ওরিয়েন্টেড এনালাইসিস (OOA) হলো যখন কোন প্রব্লেম, সিস্টেম বা কাজকে আমরা এপ্লিকেশনে রূপ দিতে চাই, সেখানে অবজেক্ট খুজে বের করতে পারি এনালাইসিস এর জন্য। মোট কথা অবজেক্ট ওরিয়েন্টেড এনালাইসিস মানে হলো কোন সমস্যাকে অবজেক্টের ভিত্তিতে এনালাইজ করে খুজে বের করতে হবে সেই সমস্যা সমাধানের জন্য কি কি করতে হবে তা। এনালাইসিসের আউটপুট হলো সমস্যা সমাধানের জন্য কি কি জিনিস দরকার তার একটি লিস্ট।

যেমনঃ আমাদের টাস্ক দেখা দিলো “একটি ওয়েবসাইট বানাবো”। এখানে অবজেক্ট ওরিয়েন্টেড এনালাইসিস (OOA) করার পর আমরা পাবো এই টাস্ক সম্পন্ন করতে কি কি জিনিস দরকার হবে তার লিস্ট। যেমন ভিজিটররা আমাদের ওয়েবসাইটে গিয়েঃ

  • হিস্টোরি রিভিউ করতে পারবে
  • জবে এপ্লাই করতে পারবে
  • বিভিন্ন পণ্য দেখতে ও অর্ডার করতে পারবে

এখানে বোল্ড লেখাগুলি হলো আমাদের অবজেক্ট, এবং ইটালিকগুলি হলো বিভিন্ন একশন যা ইউজার করতে পারবে।

অবজেক্ট ওরিয়েন্টেড ডিজাইন (OOD) মানে হলো এনালাইসিস স্টেজে আমরা যে সকল দরকারী জিনিসের একটা খসড়া লিস্ট বানিয়েছি সেগুলির বিস্তারিত বর্ণনা দেয়া যাতে করে পরবর্তী ধাপে এগুলিকে সহজেই ডেভলপ করা যায়। যেমনঃ অবজেক্ট এর নাম নির্ধারণ, তাদের আচরণ নির্ধারণ ইত্যাদির বিস্তারিত বর্ণনা। মূলত অবজেক্ট ওরিয়েন্টেড ডিজাইন স্টেজে পূর্বের এনালাইসিসে পাওয়া দরকারী কাজের লিস্টকে বিভিন্ন ক্লাস ও অবজেক্ট হিসেবে ডিজাইন করা। যেই ডিজাইন এর ভিত্তিতে পরবর্তীতে প্রোগ্রামিং করা হবে যেনো প্রোগ্রামার বা ডেভলপার কম কষ্টেই সব ধারণা পেয়ে যেতে পারে।

অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং (OOP) হলো অবজেক্ট ওরিয়েন্টেড ডিজাইন থেকে পাওয়া এনালাইসিসের বিস্তারিত ডিজাইনকে কোডে রূপ দেয়া। ব্যস এইটুকুই কাজ।

যদিও বাস্তব জীবনে কোন এনালাইসি বা ডিজাইনই পার্ফেক্ট হয় না, তাই ইটারেটিভ ডেভলপমেন্ট মডেল ব্যবহার করা হয় যেখানে অল্প কিছু এনালাইসি, ডিজাইন নিয়ে ডেভলপমেন্ট শুরু করা হয় এবং সেগুলি রিভিউ করার পর আবার নতুন কোন এনালাইসিস ও ডিজাইন যোগ করে প্রোগ্রাম করা হয়।

এগুলিই মূলত অবজেক্ট ওরিয়েন্টেড এর ছাতার নিচে থাকা কিছু বিষয়।

ফেসবুকে আমিঃ https://www.facebook.com/tarekbinhedayat