ওওপি নিজের কারণে গুরুত্বপূর্ণ নয়, তবে এটি এটির সাথে কী নেয় of বিমূর্ত এবং বিচ্ছিন্ন করার ক্ষমতা নিয়ে এমন কিছু যা গোষ্ঠীগত জিনিসগুলি একসাথে শেষ হয় কেবল সেই অংশগুলিকেই প্রকাশ করে যা একসাথে ইন্টারঅ্যাক্ট করার জন্য প্রয়োজনীয়।
এটি "মডুলারাইজেশন" নামক একটি সাধারণ ইঞ্জিনিয়ারিং কৌশল, যা উচ্চ স্তরের প্রতিটি একক বিবরণ যত্ন না নিয়েই জটিলগুলিকে সহজতরদের একত্রিতকরণ হিসাবে তৈরি করতে দেয় এবং এর জন্য উপাদানগুলি প্রতিস্থাপনযোগ্য হওয়া দরকার এমনকি সেগুলি বিন্দুতে না থাকলেও হয় replace একই।
এই "ইঞ্জিনিয়ারিং ধারণাগুলি" সফ্টওয়্যার বিকাশে রাখার চেষ্টা করা হয়েছিল যখন সময় থেকে সফ্টওয়্যার পণ্যগুলি নিজেরাই "একক বিকাশকারী সক্ষমতার" চেয়ে বড় হয়ে উঠেছিল, এইভাবে বিকাশকারীদের স্বাধীন টুকরাগুলিতে কাজ করার উপায় তৈরি করার প্রয়োজন হয়েছিল এবং সেই টুকরোগুলি ছেড়ে দেওয়া উচিত একসাথে যোগাযোগ করুন।
এই বলে যে, এই নীতিগুলি কেবলমাত্র ওওপি-তে পাওয়া যায় না (এটি গণনা তত্ত্বটি বৈধ, এই ফলাফলগুলিতে আসার জন্য অসীম সম্ভাব্য পদ্ধতি রয়েছে)।
ওওপি হ'ল এই জিনিসগুলিকে একত্রে রাখার একটি সফল প্রচেষ্টা, সেই সাধারণ পদগুলিকে (যেমন মডিউল, এনক্যাপসুলেশন, বিকল্প) আরও সুনির্দিষ্ট সংজ্ঞা দেওয়া এবং প্রোগ্রামিং ভাষাগুলির সাথে মানিয়ে যেতে পারে এমন সংজ্ঞাগুলির (নিদর্শন) উপর বিস্তৃত ধারণাটি দেওয়া ।
প্রথমে ওওপি-র সাথে " ভাষার বৈশিষ্ট্য " হিসাবে নয় বরং একটি " প্রচলিত অভিধান " হিসাবে ভাবুন যা সফ্টওয়্যার ইঞ্জিনিয়ারদের সফ্টওয়্যার ডিজাইনের কাছে নিয়ে আসে।
কোনও প্রদত্ত ভাষার প্রাথমিক বা না-থাকার বিষয়টি যে সরাসরি এই অভিধানটিকে নিশ্চিত করে তা উদাহরণস্বরূপ- যে "ক্যাপসুল" অজান্তে খোলেন না কে করবেন না বলে মনে করা হচ্ছে এটি ওওপি নকশার একটি গৌণ দিক is এজন্য এমনকি বৃহত সি প্রকল্পগুলিও প্রায়শই ওওপি হিসাবে "পরিচালিত" হয়, এমনকি যদি ভাষা নিজেই এতে সরাসরি সমর্থন না দেয়।
সমস্ত কিছু বোঝার যোগ্য নয় যতক্ষণ না কোনও প্রকল্পের আকার একক বিকাশকারী তার সমস্ত কিছু বুঝতে এবং ট্র্যাক করতে সক্ষম করে (বাস্তবে, এই পরিস্থিতিতে এটি "ওভারহেড" হিসাবে দেখা যেতে পারে) বা একটি ছোট গ্রুপে কিছু বিকাশ করে একটি স্বল্প সময়কাল। এবং এটিই মূল কারণ, জুনিয়ররা যারা "ভাষার বৈশিষ্ট্য" শব্দের মধ্যে ওওপি অধ্যয়ন করে থাকে তারা প্রায়শই এটির নকশাযুক্ত কোড তৈরির ভুল ব্যাখ্যা করে।
কীভাবে ওওপি ভাষাগুলিতে খাপ খায় তা নির্ভর করে ভাষা ডিজাইনাররা কীভাবে ওওপি নীতিগুলি তাদের নিজস্ব নির্মাণে ব্যাখ্যা করে।
সুতরাং সি ++ এ "এনক্যাপসুলেশন" "প্রাইভেট সদস্য" হয়ে যায় (এবং একটি "ক্যাপসুল" একটি শ্রেণিতে পরিণত হয়), "প্রতিস্থাপন" ভার্চুয়াল ফাংশনগুলি ওভাররাইড বা টেমপ্লেট প্যারামিট্রাইজেশন / বিশেষায়িতকরণ ইত্যাদি হয়ে যায়, যখন ডিতে একটি ক্যাপসুল একটি "মডিউল" হয় (এবং প্রতিস্থাপন যায়) ক্লাস ইত্যাদির মাধ্যমে), সুতরাং নির্দিষ্ট দৃষ্টান্ত বা প্যাটার্নটি নির্দিষ্ট ভাষায় সরাসরি উপলব্ধ করা হয় অন্য কোনও ক্ষেত্রে নয়।
নিয়োগকারীরা ওওপি প্রশ্ন জিজ্ঞাসা করার জন্য যা চান তা হ'ল ভবিষ্যতের বড় প্রকল্প এবং উন্নয়নের জন্য সফটওয়্যার ডিজাইনের বিমূর্ততা অর্জন এবং অর্জনের জন্য আপনার সক্ষমতা পরীক্ষা করা। ওও, তাদের জন্য কেবল একটি "অভিধান" তারা তাদের এবং তাদের উভয়ই জানেন যাতে আপনি অন্যান্য আরও সাধারণ বিষয় সম্পর্কে কথা বলতে পারেন বা একটি নির্দিষ্ট বাস্তবায়নের সাথে সম্মতি জানাতে পারেন supposed