Wrapper function
একটি র্যাপার ফাংশন হল একটি সফ্টওয়্যার লাইব্রেরি বা একটি কম্পিউটার প্রোগ্রামের একটি ফাংশন (একটি সাবরুটিনের জন্য আরেকটি শব্দ) যার মূল উদ্দেশ্য হল সামান্য বা কোনও অতিরিক্ত গণনা ছাড়াই দ্বিতীয় সাবরুটিন বা একটি সিস্টেম কল কল করা। র্যাপার ফাংশনগুলি একটি সাবরুটিনের অন্তর্নিহিত বাস্তবায়নের বিবরণ বিমূর্ত করে কম্পিউটার প্রোগ্রামগুলি লেখা সহজ করতে ব্যবহৃত হয়। পারপাস র্যাপার ফাংশনগুলি প্রতিনিধিদলের একটি মাধ্যম এবং বেশ কয়েকটি উদ্দেশ্যে ব্যবহার করা যেতে পারে। প্রোগ্রামিং সুবিধা কম্পিউটার প্রোগ্রাম লেখা সহজ করতে র্যাপার ফাংশন ব্যবহার করা যেতে পারে। এর একটি উদাহরণ হল জাভা এডাব্লুটি লাইব্রেরিতে মাউস অ্যাডাপ্টার এবং অনুরূপ ক্লাস। তৃতীয় পক্ষের লাইব্রেরি ফাংশন ব্যবহার করে এমন অ্যাপ্লিকেশনগুলির বিকাশে র্যাপার ফাংশনগুলি কার্যকর। তৃতীয় পক্ষের প্রতিটি কাজের জন্য একটি মোড়ক লেখা যেতে পারে এবং স্থানীয় অ্যাপ্লিকেশনটিতে ব্যবহার করা যেতে পারে। যদি তৃতীয় পক্ষের ফাংশনগুলি পরিবর্তিত হয় বা আপডেট করা হয়, তবে নেটিভ অ্যাপ্লিকেশনে তৃতীয় পক্ষের ফাংশনগুলির সমস্ত দৃষ্টান্ত পরিবর্তনের বিপরীতে কেবল নেটিভ অ্যাপ্লিকেশনের মোড়কগুলি পরিবর্তন করতে হবে। ক্লাস/অবজেক্ট ইন্টারফেসগুলি মানিয়ে নেওয়া র্যাপার ফাংশনগুলি একটি বিদ্যমান ক্লাস বা অবজেক্টকে একটি ভিন্ন ইন্টারফেসে মানিয়ে নিতে ব্যবহার করা যেতে পারে। বিদ্যমান লাইব্রেরি কোড ব্যবহার করার সময় এটি বিশেষভাবে কার্যকর। কোড টেস্টিং র্যাপার ফাংশনগুলি ফাংশনে প্রতিটি কলের জন্য একই ত্রুটি চেক পুনরাবৃত্তি করে একটি কোডের দৈর্ঘ্য বড় পরিমাণে না বাড়িয়ে পূর্ব-বিদ্যমান সিস্টেম ফাংশনগুলির জন্য ত্রুটি চেকিং রুটিন লিখতে ব্যবহার করা যেতে পারে। মূল ফাংশনে সমস্ত কলগুলি মোড়কের কল দিয়ে প্রতিস্থাপন করা যেতে পারে, যা প্রোগ্রামারকে মোড়কটি লেখার পরে ত্রুটি পরীক্ষা করার কথা ভুলে যেতে দেয়। একটি টেস্ট ড্রাইভার হল এক ধরনের মোড়ক ফাংশন যা একটি কোড মডিউল অনুশীলন করে, সাধারণত প্রতিটি সম্ভাব্য পথ কঠোরভাবে অনুসরণ করার জন্য বিভিন্ন সেটিংস বা পরামিতি সহ এটি বারবার কল করে। এটি বিতরণযোগ্য কোড নয়, তবে সামান্য কোডও নয়, যা সাধারণত রিগ্রেশন পরীক্ষায় ব্যবহারের জন্য রাখা হয়। ইন্টারফেস অ্যাডাপ্টার হল এক ধরনের মোড়ক ফাংশন যা ব্যবহারকারীর কাছে আরও বোধগম্য বা প্রাসঙ্গিক করার অভিপ্রায় নিয়ে একটি কোড মডিউলে ইন্টারফেসকে সহজতর, দর্জি বা প্রশস্ত করে। এটি প্যারামিটারগুলির নাম পরিবর্তন করতে পারে, প্যারামিটারগুলিকে একত্রিত করতে পারে, প্যারামিটারগুলির জন্য ডিফল্ট সেট করতে পারে এবং এই জাতীয়। একাধিক উত্তরাধিকার একটি প্রোগ্রামিং ভাষায় যা বেস ক্লাসের একাধিক উত্তরাধিকারকে সমর্থন করে না, এটি অনুকরণ করতে মোড়ক ফাংশন ব্যবহার করা যেতে পারে। নীচে জাভা ক্লাসের একটি অংশের উদাহরণ দেওয়া হল যা লিঙ্কড লিস্ট এবং হ্যাশসেট থেকে "উত্তরাধিকার সূত্রে" পাওয়া যায়। আরও বাস্তবায়নের বিবরণের জন্য পদ্ধতি দেখুন। পাবলিক ক্লাস টেস্ট লিঙ্কড লিস্ট প্রয়োগ করে, হ্যাশসেট {@Override//-এ ডেটা সদস্য এবং ডেটা পদ্ধতি// কোভ্যারিয়েন্ট রিটার্ন} লাইব্রেরি ফাংশন এবং সিস্টেম কল রয়েছে অনেক লাইব্রেরি ফাংশন, যেমন সি স্ট্যান্ডার্ড লাইব্রেরিতে, সিস্টেম কলগুলির বিমূর্তকরণের জন্য ইন্টারফেস হিসাবে কাজ করে। গ্লিবসিতে কাঁটাচামচ এবং এক্সিকিভ ফাংশনগুলি এর উদাহরণ। তারা যথাক্রমে নিম্ন-স্তরের কাঁটাচামচ এবং এক্সিকিউভ সিস্টেম কলগুলিকে কল করে। এর ফলে একই নামের সিস্টেম কলগুলির পরিবর্তে উচ্চ-স্তরের লাইব্রেরি কলগুলিকে বোঝাতে "সিস্টেম কল" এবং "সিসকাল" শব্দগুলি ভুলভাবে ব্যবহার করা হতে পারে, যা তারা মোড়ায়। একটি সহায়ক ফাংশন এমন একটি ফাংশন যা বর্ণনামূলক নাম বরাদ্দ করে এবং গণনার পুনঃব্যবহারের অনুমতি দিয়ে গণনার অংশগুলিকে গোষ্ঠীভুক্ত করে। যদিও সমস্ত মোড়ক সহায়ক ফাংশন নয়, সমস্ত সহায়ক ফাংশন মোড়ক, এবং সহায়ক ফাংশনগুলির একটি উল্লেখযোগ্য ব্যবহার-প্রায়শই ব্যবহৃত ক্রিয়াকলাপগুলিকে গোষ্ঠীভুক্ত করা-গতিশীল বাইনারি অনুবাদে, যেখানে একটি নির্দিষ্ট স্থাপত্যের সহায়ক ফাংশনগুলি একটি নির্দেশ থেকে নির্দেশাবলীর অনুবাদে ব্যবহৃত হয়। আরও দেখুন র্যাপার লাইব্রেরি ড্রাইভার র্যাপার অ্যাডাপ্টার প্যাটার্ন ডেকোরেটর প্যাটার্ন ডেলিগেশন (প্রোগ্রামিং) ফরওয়ার্ডিং (অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং) ল্যাঙ্গুয়েজ বাইন্ডিং র্যাপার অন্য ভাষায় এসডাব্লুআইজি স্বয়ংক্রিয় র্যাপার জেনারেটর নেস্টেড ফাংশন আংশিক অ্যাপ্লিকেশন রেফারেন্স নিবন্ধগুলি উদাহরণস্বরূপ জাভা কোড সাবরুটিন সহ