ওওপি নিজে থেকেই এটির শুরু থেকে খুব বেশি পরিবর্তন হয়নি। এটিতে কয়েকটি নতুন কোণ অনুসন্ধান করা হয়েছে, তবে মূল নীতিগুলি এখনও একই। যদি কিছু হয় তবে কয়েক বছর ধরে জড়িত সম্মিলিত জ্ঞান প্রোগ্রামারের জীবনকে আরও শক্ত করার চেয়ে সহজ করে তোলে। নকশার নিদর্শন বাধা নয়; তারা স্ট্যান্ডার্ড সমস্যার সমাধানের একটি সরঞ্জামবাক্স সরবরাহ করে, বছরের পর বছর এবং বছরের অভিজ্ঞতা থেকে পাতিত করে।
সুতরাং কেন আপনি আজ ওওপকে এটি ব্যবহার শুরু করার চেয়ে জটিল হিসাবে বুঝতে পেরেছেন?
এর একটি কারণ হতে পারে যে কোডটি আপনাকে প্রকাশ করা হচ্ছে তা আরও জটিল হয়ে উঠেছে - না কেননা ওওপি আরও জটিল হয়ে উঠেছে, তবে আপনি শেখার মইতে অগ্রসর হয়েছেন এবং আরও বৃহত্তর এবং জটিল কোড বেসগুলি পড়তে পারেন।
আর একটি কারণ হতে পারে যে জটিলতার দৃষ্টান্তটি পরিবর্তিত হয়নি, একটি গড় সফ্টওয়্যার প্রকল্পের আকার এবং জটিলতা খুব ভাল থাকতে পারে। গ্রাহক-গ্রেড সেলফোনগুলিতে প্রসেসিং পাওয়ার উপলব্ধ রয়েছে যা প্রায় দুই দশক আগেও কোনও সার্ভারে বিকাশকারীর ভিজা স্বপ্ন হতে পারে , সাধারণ মানুষ মূলত এমনকি সস্তারতম থ্রোওয়ে অ্যাপ্লিকেশনটির জন্য চালিত অ্যানিমেটেড জিইউআইয়ের প্রত্যাশা করে এবং এন্ট্রি স্তরের ডেস্কটপ পিসি আরও শক্তিশালী হতে পারে ১৯৮০-এর "সুপার কম্পিউটার" এর চেয়ে এটি স্বাভাবিক যে বারটি ছোট ছোট টাল এবং সি ++ এর প্রথম দিন থেকেই উত্থাপিত হয়েছিল।
এবং তারপরে এই বাস্তবতা রয়েছে যে আধুনিক অ্যাপ্লিকেশনগুলিতে ব্যতিক্রমের পরিবর্তে একত্রীকরণ এবং সমান্তরালতা আদর্শ এবং অ্যাপ্লিকেশনগুলির প্রায়শই বিভিন্ন মেশিনের মধ্যে যোগাযোগ করা, প্রোটোকলের পুরো চিড়িয়াখানা আউটপুট এবং পার্স করা প্রয়োজন। যদিও ওওপি সাংগঠনিক দৃষ্টান্ত হিসাবে দুর্দান্ত তবে এটির অন্যান্য সীমাবদ্ধতার মতোই এরও সীমাবদ্ধতা রয়েছে: উদাহরণস্বরূপ, এটি সম্মিলনের জন্য প্রচুর বিমূর্ততা সরবরাহ করে না (বেশিরভাগ বাস্তবায়ন কমবেশি চিন্তাভাবনা করা বা পুরোপুরি লাইব্রেরিতে আউটসোর্স করা হয়) , এবং এটি পার্সার তৈরি এবং ডেটা রূপান্তর করার পক্ষে সেরা সম্ভাব্য উপায় নয় approach আধুনিক প্রোগ্রামিং প্রায়শই ওওপি দৃষ্টান্তের সীমাবদ্ধতায় চলে এবং ডিজাইনের ধরণগুলি আপনাকে কেবল এতদূর নিতে পারে। (ব্যক্তিগতভাবে, আমি এই সত্যটি বিবেচনা করি যে আমাদের নকশার নিদর্শনগুলির এটির একটি লক্ষণ প্রয়োজন - যদি দৃষ্টান্তটি এই সমাধানটি বাক্সের বাইরে সরবরাহ করে তবে এটি এই সমস্যার জন্য আরও উদ্বেগজনক হবে এবং মানক সমাধানগুলি সুস্পষ্ট হবে। পদ্ধতির উত্তরাধিকার বর্ণনা করার জন্য কোনও নকশার প্যাটার্ন নেই, কারণ এটি ওওপির মূল বৈশিষ্ট্য; তবে একটি কারখানার প্যাটার্ন রয়েছে, কারণ ওওপি বহুগুণ এবং স্বচ্ছতার সাথে অবজেক্টগুলি তৈরির একটি সুস্পষ্ট প্রাকৃতিক উপায় সরবরাহ করে না))
এ কারণে, বেশিরভাগ আধুনিক ওওপি ভাষাগুলি অন্যান্য দৃষ্টান্তগুলির বৈশিষ্ট্যগুলিকে অন্তর্ভুক্ত করে, যা এগুলি আরও সংবেদনশীল এবং আরও শক্তিশালী, তবে আরও জটিল করে তোলে। সি # এটির জন্য প্রধান উদাহরণ: এর স্পষ্টভাবে ওওপি শিকড় রয়েছে তবে ডেলিগেটস, ইভেন্টস, টাইপ ইনফারেন্স, বৈকল্পিক ডেটা টাইপ, অ্যাট্রিবিউটস, অজ্ঞাতনামা ফাংশন, ল্যাম্বডা এক্সপ্রেশনস, জেনেরিকস ইত্যাদি বৈশিষ্ট্যগুলি অন্যান্য দৃষ্টান্ত থেকে উদ্ভূত হয়েছে, বিশেষত ফাংশনাল প্রোগ্রামিং ।