বিমূর্ততার স্তর এবং ইন্দিরিশনের স্তর পৃথক ধারণা। বিমূর্ততা হ'ল ডেটা বা প্রোগ্রামের নির্দেশাবলীর মতো বিভিন্ন উপাদানের একত্রিতকরণ এবং অর্থবহ নামকরণ, উদাহরণস্বরূপ কোনও ফাইল বা পদ্ধতি কলের ধারণা, যখন প্রেরণা হ'ল সত্তাকে তাদের সম্পর্কের উপলব্ধি স্থগিতকরণের সুবিধার্থে ডিকুয়ালিং, উদাহরণস্বরূপ, জেএনডিআই ব্যবহার একটি প্রোগ্রামের মধ্যে এমন কোনও সংস্থার সনাক্তকরণকে আসল সংস্থান থেকে আলাদা করতে যা শেষ পর্যন্ত কোনও অ্যাপ্লিকেশন ধারক দ্বারা সরবরাহ করা যেতে পারে।
প্রায়শই ধারণাগুলি একসাথে চলে যায় এবং কোনটি নির্দিষ্ট নির্মাণে প্রযোজ্য কোনটি অনুশীলন বা আলোচনা চলছে তা নির্ভর করে। উদাহরণস্বরূপ, কোনও এপিআই শিখতে বা ডকুমেন্ট করার সময় একটি ইন্টারফেসের বিমূর্ত প্রকৃতি গুরুত্বপূর্ণ; অ্যাপ্লিকেশনটির জন্য এক্সটেনসিবিলিটি যুক্ত করার সময় বা পরীক্ষা তৈরি করার সময় এর ইন্ডিয়ারেশনের সম্পত্তিটি গুরুত্বপূর্ণ।
বিমূর্ততার একটি স্তর হ'ল বিমূর্তির সংহতকরণ এবং তাদের ধারণাগত অখণ্ডতা এবং ব্যবহারের ধারাবাহিকতা প্রদান। ক্রিয়েটপ্রসেস হ'ল উইন 32 এপিআই নাম যা কিছু প্রক্রিয়া তৈরি করে এবং সম্পাদন করে code "নাম" এই প্রসঙ্গে প্রাসঙ্গিক কারণ আমরা যদি ফাংশনটিকে ডওলোকমেমথেনমেকইনভটিথিনফিনডেন্ট্রিপয়েন্টের মতো কিছু বলি ... তবে এটি সত্যি খুব বিমূর্ত হবে না। উইন 32 এপিআই এর মতো একটি স্তর বাধা সরবরাহ করে যা জুড়ে কোনও প্রোগ্রামারকে উদ্যোগ না করার পরামর্শ দেওয়া যেতে পারে। এটি হ্রাস পাওয়ার (নমনীয়তা, কর্মক্ষমতা ইত্যাদি) ব্যয়ে কলারের দৃষ্টিকোণ থেকে জটিলতা সরিয়ে দেয়। এই বাণিজ্য বন্ধটি ফাঁসী বিমূর্ততাগুলির ঘন ঘন আলোচনার মাধ্যমে হাইলাইট করা হয়: আমাদের এখনও হাইবারনেট ব্যবহার করার সময় সরাসরি এসকিউএল কলগুলি করতে বা নেট নেট ব্যবহার করার সময় উইন 32 কল করার প্রয়োজন হতে পারে।
ইন্ডিরিশনের বিষয়ে, বেশিরভাগ অ-তুচ্ছ প্রোগ্রামগুলি কোনওভাবে ব্যবহারকারী কোডড ইন্ডিরেশনের সাথে কাজ করে, সাক্ষ্যগ্রহণের আগে থেকেই কোবলের ইনপুট-আউটপুট অংশটি প্রত্যক্ষ করেন। ডাটাবেসের মতো কোনও সংস্থার অ্যাক্সেস করার সময় আমরা স্তরের 1 হিসাবে কোডে জেডিবিসি সংযোগ স্ট্রিংয়ের এমবেডিং দেখতে পাই, একটি জেএনডিআই সংযোগ (যা কোনও অ্যাপ্লিকেশন ধারকটিতে সংস্থানটির পছন্দকে প্রতিনিধিত্ব করে) স্তর হিসাবে 1 এবং কিছু স্প্রিং সেই মানচিত্রগুলি তৈরি করে অ্যাপ্লিকেশন জেএনডিআই পরিচয়কারীকে স্তর 2 হিসাবে অনেকগুলি ধারক সংস্থার মধ্যে একটিতে পরিচিত করে তোলে একাধিক স্তরগুলি সম্পর্কের বাহ্যিক কয়েকটি পক্ষকে (এই ক্ষেত্রে কোড কার্যকর করার কোড এবং একটি ডাটাবেসের মধ্যে একটি সম্পর্ক) সেই সম্পর্কটিকে ম্যানিপুলেট করার অনুমতি দেয়। এটি ইন্টারফেস এবং ইভেন্টের মতো অভ্যন্তরীণ প্রোগ্রাম উপাদানগুলিতে সমানভাবে প্রযোজ্য।
আমরা এটি দেখতে পাচ্ছি, তাদের অন্যান্য গুণাবলী যা-ই হোক না কেন, বিমূর্ততা জটিলতা হ্রাস করে যেখানে অভিমুখীকরণ এটি বাড়িয়ে তোলে। বিমূর্ততা শক্তি হ্রাস করে যেখানে ইন্ডিয়ারেশন এটি বাড়িয়ে তোলে। পূর্বনির্ধারিত আচরণটি কাস্টম কলব্যাকগুলির মাধ্যমে ওভাররাইড করার জন্য ডিফল্ট আচরণের অনুমতি দিয়ে বিমূর্তির শক্তি পুনরুদ্ধার করতে ব্যবহার করা যেতে পারে।