Кіріспе
Бағдарламалық жасақтама үлгісі. Компьютерлік бағдарламалауда прокси үлгісі – бағдарламалық жасақтама үлгісі. Прокси, ең жалпы түрінде, басқа бір нәрсеге интерфейс ретінде қызмет ететін класс. Прокси кез келген нәрсеге: желілік қосылымға, жадтағы үлкен объектіге, файлға немесе қымбат немесе көшіруге болмайтын басқа да ресурсқа интерфейс бола алады. Қысқасы, прокси – клиенттің нақты қызмет көрсететін объектіге қол жеткізуі үшін шақыратын орауыш немесе агенттік объект. Проксиді пайдалану жай ғана нақты объектіге бағыттау немесе қосымша логиканы қамтамасыз ету болуы мүмкін. Проксиде қосымша функционалдық мүмкіндіктер қарастырылуы мүмкін, мысалы, нақты объектідегі операциялар көп ресурстарды қажет еткен кезде кэштеу, немесе нақты объектідегі операциялар шақырылғанға дейін алғышарттарды тексеру. Клиент үшін прокси-объектіні пайдалану нақты объектіні пайдаланумен ұқсас, себебі екеуі де бірдей интерфейсті іске асырады.
In computer programming, the proxy pattern is a software design pattern. A proxy, in its most general form, is a class functioning as an interface to something else. The proxy could interface to anything: a network connection, a large object in memory, a file, or some other resource that is expensive or impossible to duplicate. In short, a proxy is a wrapper or agent object that is being called by the client to access the real serving object behind the scenes. Use of the proxy can simply be forwarding to the real object, or can provide additional logic. In the proxy, extra functionality can be provided, for example caching when operations on the real object are resource intensive, or checking preconditions before operations on the real object are invoked. For the client, usage of a proxy object is similar to using the real object, because both implement the same interface.
Прокси-жоспарлау үлгісі қандай проблемаларды шеше алады?
Объектіге қол жеткізуді бақылау қажет. Объектіге қол жеткізген кезде қосымша мүмкіндіктер берілуі керек. Мысалы, құпиялы объектілерге қол жеткізу кезінде клиенттердің қажетті құқықтары бар екенін тексеру мүмкіндігі болуы тиіс.
Қашықтан прокси
Бөлінген объектілік байланыста, жергілікті объект қашықтағы объектіні (басқа адрестік кеңістікте орналасқан) көрсетеді. Жергілікті объект – қашықтағы объектінің проксисі, ал жергілікті объектідегі әдіс шақырылымы қашықтағы объектіде қашықтағы әдіс шақырылымын тудырады. Мысалы, банкоматты іске асыруды қарастырайық, онда банкомат қашықтағы серверде сақталатын банк ақпараты үшін прокси-объектілерді ұстауы мүмкін.
Қорғау проксиі
Қорғау проксисі қол жеткізу құқықтарына сүйене отырып, ресурстың қолжетімділігін басқару үшін пайдаланылуы мүмкін.