আপনি সম্ভবত বেশ কয়েক বছর ধরে কোনও বৃহত সফ্টওয়্যার প্রকল্পে কাজ না করা পর্যন্ত এটি সম্ভবত আপনি গভীরভাবে বুঝতে যাচ্ছেন না isn't অনেক নতুন কম্পিউটার বিজ্ঞান মেজর আপনাকে সমস্ত সঠিক শব্দের সাথে একটি উত্তর দেবে (এনক্যাপসুলেশন, ডেটা সহ কার্যকারিতা এবং রক্ষণাবেক্ষণযোগ্যতা) তবে সমস্ত জিনিস কেন রাখা ভাল তা খুব কমই বুঝতে পারবেন।
আসুন কয়েকটি উদাহরণ দিয়ে চলুন।
- যদি অ্যারেগুলি ফেরত দেওয়া হয়, তবে হয় সমস্ত মানকে সামনের দিকে গণনা করতে হবে বা প্রচুর পরিমাণে খুব কম মান ফিরিয়ে নেওয়া দরকার যা দিয়ে আপনি আরও জটিল মানগুলি তৈরি করতে পারেন।
ওয়ার্ডপ্রেস পোস্টগুলির একটি তালিকা ফিরে আসে এমন একটি এপিআই পদ্ধতি সম্পর্কে চিন্তা করুন। এই পোস্টগুলির সকলের লেখক রয়েছে, লেখকের নাম রয়েছে, ই-মেইল ঠিকানা রয়েছে, এমনকি তাদের জীবনী সহ প্রোফাইলও রয়েছে।
আপনি যদি অ্যারেতে সমস্ত পোস্ট ফিরিয়ে দিচ্ছেন তবে আপনাকে পোস্ট আইডির একটি অ্যারে ফিরিয়ে দেওয়ার ক্ষেত্রে নিজেকে সীমাবদ্ধ করতে হবে:
[233, 41, 204, 111]
বা এমন বিশাল কিছু অ্যারে ফিরে পাওয়া যা দেখে মনে হচ্ছে:
[ title: 'somePost', body: 'blah blah', 'author': ['name': 'billy', 'email': 'bill@bill.com', 'profile': ['interests': ['interest1', 'interest2', ...], 'bio': 'info...']] ]
[id: '2', .....]]
আইডির তালিকা ফিরিয়ে দেওয়ার প্রথম ক্ষেত্রেটি আপনার পক্ষে খুব কার্যকর নয় কারণ তারপরে সেই পোস্টটি সম্পর্কে কিছু তথ্য পেতে আপনাকে প্রতিটি আইডির জন্য একটি API কল করতে হবে।
দ্বিতীয় ক্ষেত্রেটি আপনার 90% সময়ের প্রয়োজনের চেয়ে আরও বেশি তথ্য টানবে এবং আরও বেশি কাজ করবে (বিশেষত যদি ক্ষেত্রগুলির মধ্যে কোনও একটি নির্মাণে খুব জটিল হয়)।
অন্যদিকে কোনও অবজেক্ট আপনাকে আপনার প্রয়োজনীয় সমস্ত তথ্যে অ্যাক্সেস সরবরাহ করতে পারে তবে বাস্তবে এখনও সেই তথ্যটি টানেনি। ক্ষেত্রের মান নির্ধারণ করা কোনও অবজেক্ট ব্যবহার করার সময় অলসভাবে করা যেতে পারে (অর্থাত্ যখন মানটির প্রয়োজন হয় এবং আগে নয়)।
- অ্যারে উদ্দেশ্যগুলির চেয়ে বেশি ডেটা এবং ক্ষমতা প্রকাশ করে
বিশাল অ্যারে ফিরে আসার উদাহরণে ফিরে যান। এখন কেউ সম্ভবত এমন একটি অ্যাপ্লিকেশন তৈরি করতে পারেন যা পোস্ট অ্যারের অভ্যন্তরে প্রতিটি মানকে পুনরুক্ত করে এবং মুদ্রণ করে। যদি সেই পোস্ট অ্যারেতে কেবলমাত্র একটি অতিরিক্ত উপাদান যুক্ত করতে যদি API আপডেট হয় তবে অ্যাপ্লিকেশন কোডটি ভেঙে চলেছে কারণ এটি এমন কোনও নতুন ক্ষেত্রটি মুদ্রণ করবে যা এটি সম্ভবত না করা উচিত probably পোস্টের অ্যারেতে আইটেমগুলির ক্রম যদি এপিআই পরিবর্তিত হয় তবে এটি অ্যাপ্লিকেশন কোডটিও ভেঙে দেবে। সুতরাং একটি অ্যারে ফেরত দেওয়া সম্ভব হ'ল সমস্ত প্রকারের নির্ভরতা যা কোনও বস্তু তৈরি করতে পারে না।
কোনও বস্তু এর ভিতরে তথ্য রাখতে পারে যা এটি আপনাকে কার্যকর কার্যকারিতা সরবরাহ করার অনুমতি দেবে। উদাহরণস্বরূপ কোনও পোস্ট অবজেক্ট পূর্ববর্তী বা পরবর্তী পোস্টগুলি ফিরিয়ে দিতে যথেষ্ট স্মার্ট হতে পারে। কোনও অ্যারে আপনার পক্ষে কখনও তা করতে পারে নি।
উপরে উল্লিখিত সামগ্রীর সমস্ত সুবিধা আরও নমনীয় সিস্টেম তৈরি করতে সহায়তা করে।
count()বাarray_*()তাদের উপর ফাংশন করা (অন্তত কী => মান ডেটা সংরক্ষণ / ফিরিয়ে দেওয়ার ক্ষেত্রে)। কেউ এটি উল্লেখ করার মতো মনে হচ্ছে না, বা আমি কিছু মিস করছি?