Кіріспе

Объектіге бағытталған бағдарламалауда, делегация – бір объектінің (қабылдаушының) мүшесін (қасиетін немесе әдісін) басқа бастапқы объектінің (жіберушінің) контекстінде бағалау. Делегация жіберуші объектінің жауапкершілігін қабылдаушы объектіге беру арқылы тікелей жасалуы мүмкін, бұл кез келген объектіге бағытталған тілде мүмкін; немесе тілдің мүшелік іздеу ережелері арқылы жасалуы мүмкін, бұл мүмкіндік үшін тілдік қолдау қажет. Жасырын делегация – прототиптік бағдарламалауда мінез-құлықты қайта пайдаланудың негізгі әдісі, сыныптық бағдарламалаудағы мұрагерлікке сәйкес келеді. Тіл деңгейінде делегацияны қолдайтын ең белгілі тілдер – Self, ол өзіне шақырылғанда әдістерді іздеу кезінде қолданылатын өзгертілетін басты слоттар арқылы делегация ұғымын қамтиды, және JavaScript; JavaScript делегациясын қараңыз. Делегация термині нысандар арасындағы басқа да түрлі қатынастар үшін де кең мағынада қолданылады; толығырақ ақпарат алу үшін делегация (бағдарламалау) қараңыз. Көбінесе шатастыратын ұғымдар – жай ғана басқа объектіні пайдалану, дәлірек айтқанда кеңесу немесе агрегациялау; және бір объектінің мүшесін бағалау үшін басқа объектінің сәйкес мүшесін бағалау, әсіресе қабылдаушы объектінің контекстінде, бұл дәлірек жіберу деп аталады (қоршаушы объекті қоршалған объектіге өзін-өзі өткізбеген кезде). Делегация үлгісі – делегацияны жүзеге асыруға арналған бағдарламалық жасақтама дизайнының үлгісі, бірақ бұл термин кеңесу немесе жіберу үшін де қолданылады.

Қатынас аймақтар

Делегация – кодты және деректерді бірліктер арасында бөлісудің төмен деңгейлі механизмі ретінде сипатталуы мүмкін. Осылайша, ол басқа тіл құрылымдарының негізін қалайды. Көбінесе рөлге бағытталған бағдарламалау тілдері делегацияны пайдаланады, бірақ ескілері делегация қолданамын деп айтқанмен, іс жүзінде агрегацияны қолданған. Бұл алдау деп есептелмеуі керек, тек делегацияның анықтамасының көп түрлілігі (жоғарыда сипатталғандай). Жақында делегацияны тарату бойынша да жұмыстар жүргізілуде, мысалы, іздеу жүйесінің клиенттері (арзан қонақ үй бөлмелерін табу) үздік нәтижелерді және жалпы қайта пайдалануға болатын мүмкіндіктерді бөлісу үшін делегация арқылы ортақ бірліктерді пайдалана алады. 2003 жылы Эрнст пен Лоренц аспектіге бағытталған бағдарламалауда кеңес табу үшін делегацияны қолдануды ұсынған.