Wrapper function
રેપર ફંક્શન એ સોફ્ટવેર લાઈબ્રેરી અથવા કમ્પ્યુટર પ્રોગ્રામમાં એક ફંક્શન (સબરૂટિન માટેનો બીજો શબ્દ) છે, જેનો મુખ્ય હેતુ બીજી સબરૂટિન અથવા સિસ્ટમ કૉલને ઓછી અથવા કોઈ વધારાની ગણતરી વિના કૉલ કરવાનો છે. રેપર કાર્યોનો ઉપયોગ સબરૂટિનના અંતર્ગત અમલીકરણની વિગતોને દૂર કરીને કમ્પ્યુટર પ્રોગ્રામ્સ લખવાનું સરળ બનાવવા માટે થાય છે. પર્પઝ રેપર ફંક્શન્સ એ પ્રતિનિધિમંડળનું એક સાધન છે અને તેનો ઉપયોગ સંખ્યાબંધ હેતુઓ માટે થઈ શકે છે. પ્રોગ્રામિંગ સગવડ રેપર કાર્યોનો ઉપયોગ કમ્પ્યુટર પ્રોગ્રામ લખવાનું સરળ બનાવવા માટે કરી શકાય છે. આનું ઉદાહરણ માઉસ એડપ્ટર અને જાવા AWT લાઈબ્રેરીમાં સમાન વર્ગો છે. તૃતીય-પક્ષ લાઇબ્રેરી કાર્યોનો ઉપયોગ કરતી એપ્લિકેશનોના વિકાસમાં રેપર કાર્યો ઉપયોગી છે. એક આવરણ દરેક તૃતીય પક્ષ કાર્યો માટે લખી શકાય છે અને મૂળ એપ્લિકેશનમાં તેનો ઉપયોગ કરી શકાય છે. જો થર્ડ પાર્ટી ફંક્શન્સ બદલાય અથવા અપડેટ થાય, તો નેટિવ એપ્લિકેશનમાં થર્ડ પાર્ટી ફંક્શન્સના તમામ ઉદાહરણોને બદલવાના વિરોધમાં નેટિવ એપ્લિકેશનમાં ફક્ત રેપરમાં ફેરફાર કરવાની જરૂર છે. વર્ગ/ઓબ્જેક્ટ ઇન્ટરફેસોને અનુકૂલિત કરવા રેપર કાર્યોનો ઉપયોગ હાલના વર્ગ અથવા ઓબ્જેક્ટને અલગ ઇન્ટરફેસ રાખવા માટે કરી શકાય છે. હાલના લાઈબ્રેરી કોડનો ઉપયોગ કરતી વખતે આ ખાસ કરીને ઉપયોગી છે. કોડ પરીક્ષણ રેપર કાર્યોનો ઉપયોગ કાર્યમાં દરેક કૉલ માટે સમાન ભૂલ તપાસનું પુનરાવર્તન કરીને કોડની લંબાઈને મોટી માત્રામાં વધાર્યા વિના પહેલાથી અસ્તિત્વમાં રહેલા સિસ્ટમ કાર્યો માટે ભૂલ તપાસ દિનચર્યાઓ લખવા માટે થઈ શકે છે. મૂળ કાર્ય પરના તમામ કૉલ્સને રેપર પરના કૉલ્સ સાથે બદલી શકાય છે, જે પ્રોગ્રામરને રેપર લખાયા પછી ભૂલ તપાસ વિશે ભૂલી જવાની મંજૂરી આપે છે. ટેસ્ટ ડ્રાઈવર એ એક પ્રકારનું આવરણ કાર્ય છે જે કોડ મોડ્યુલનો ઉપયોગ કરે છે, સામાન્ય રીતે દરેક સંભવિત માર્ગને સખત રીતે અનુસરવા માટે તેને વિવિધ સેટિંગ્સ અથવા પરિમાણો સાથે વારંવાર બોલાવે છે. તે વિતરિત કરી શકાય તેવો કોડ નથી, પરંતુ સામાન્ય રીતે રીગ્રેસન પરીક્ષણમાં ઉપયોગ માટે જાળવી રાખવામાં આવે છે. ઇન્ટરફેસ એડેપ્ટર એ એક પ્રકારનું આવરણ કાર્ય છે જે ઇન્ટરફેસને વધુ બુદ્ધિગમ્ય અથવા વપરાશકર્તા માટે સુસંગત બનાવવાના ઉદ્દેશ સાથે કોડ મોડ્યુલમાં સરળ બનાવે છે, અનુરૂપ બનાવે છે અથવા વિસ્તૃત કરે છે. તે પરિમાણોનું નામ બદલી શકે છે, પરિમાણોને જોડી શકે છે, પરિમાણો માટે ડિફોલ્ટ્સ સેટ કરી શકે છે, અને તેના જેવા. બહુવિધ વારસો પ્રોગ્રામિંગ ભાષામાં જે બેઝ વર્ગોના બહુવિધ વારસાને ટેકો આપતું નથી, તેને અનુકરણ કરવા માટે રેપર કાર્યોનો ઉપયોગ કરી શકાય છે. નીચે જાવા વર્ગના ભાગનું ઉદાહરણ છે જે લિન્કલિસ્ટ અને હેશસેટમાંથી "વારસામાં મળે છે". વધુ અમલીકરણ વિગતો માટે પદ્ધતિ જુઓ. પબ્લિક ક્લાસ ટેસ્ટ લિન્કલિસ્ટનો અમલ કરે છે, હેશસેટ {@Override// ડેટા સભ્યો અને ડેટા પદ્ધતિઓ// કોવેરિયન્ટ રીટર્ન} લાઈબ્રેરી કાર્યો અને સિસ્ટમ કૉલ્સ ધરાવે છે ઘણા લાઈબ્રેરી કાર્યો, જેમ કે સી સ્ટાન્ડર્ડ લાઈબ્રેરીમાં, સિસ્ટમ કૉલ્સના એબ્સ્ટ્રેક્શન માટે ઇન્ટરફેસ તરીકે કાર્ય કરે છે. ગ્લિબ્સમાં ફોર્ક અને એક્ઝેકટ ફંક્શન્સ આનાં ઉદાહરણો છે. તેઓ અનુક્રમે નીચલા સ્તરના ફોર્ક અને એક્ઝેક્યુટ સિસ્ટમ કૉલ્સને બોલાવે છે. આ સમાન નામના સિસ્ટમ કૉલ્સને બદલે ઉચ્ચ-સ્તરના લાઇબ્રેરી કૉલ્સને સંદર્ભિત કરવા માટે "સિસ્ટમ કૉલ" અને "સિસ્કેલ" શબ્દોનો ખોટી રીતે ઉપયોગ કરવા તરફ દોરી શકે છે, જેને તેઓ લપેટી લે છે. સહાયક કાર્ય એ એક કાર્ય છે જે વર્ણનાત્મક નામો સોંપીને અને ગણતરીઓના પુનઃઉપયોગ માટે પરવાનગી આપીને ગણતરીના ભાગોને જૂથબદ્ધ કરે છે. જો કે તમામ આવરણ સહાયક કાર્યો નથી, તેમ છતાં તમામ સહાયક કાર્યો આવરણ છે, અને સહાયક કાર્યોનો નોંધપાત્ર ઉપયોગ-વારંવાર ઉપયોગમાં લેવાતી કામગીરીઓનું જૂથ-ગતિશીલ દ્વિસંગી અનુવાદમાં છે, જેમાં ચોક્કસ સ્થાપત્યના સહાયક કાર્યોનો ઉપયોગ સૂચનોના અનુવાદમાં થાય છે. આ પણ જુઓ રેપર લાઇબ્રેરી ડ્રાઈવર રેપર એડેપ્ટર પેટર્ન ડેકોરેટર પેટર્ન ડેલિગેશન (પ્રોગ્રામિંગ) ફોરવર્ડિંગ (ઓબ્જેક્ટ-ઓરિએન્ટેડ પ્રોગ્રામિંગ) લેંગ્વેજ બાઇન્ડિંગ રેપર ટુ સેકન્ડ લેંગ્વેજ એસડબલ્યુઆઇજી ઓટોમેટિક રેપર જનરેટર નેસ્ટેડ ફંક્શન આંશિક એપ્લિકેશન સંદર્ભો ઉદાહરણ તરીકે જાવા કોડ સબરૂટિન્સ સાથેના લેખો