Katana VentraIP

Proxy pattern

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.

The access to an object should be controlled.

Additional functionality should be provided when accessing an object.

Katana VentraIP

$_$_$DEEZ_NUTS#0__titleDEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#0__subtitleDEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#0__call_to_action.textDEEZ_NUTS$_$_$

Possible usage scenarios[edit]

Remote proxy[edit]

In distributed object communication, a local object represents a remote object (one that belongs to a different address space). The local object is a proxy for the remote object, and method invocation on the local object results in remote method invocation on the remote object. An example would be an ATM implementation, where the ATM might hold proxy objects for bank information that exists in the remote server.

$_$_$DEEZ_NUTS#1__titleDEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#1__descriptionDEEZ_NUTS$_$_$

Composite pattern

Decorator pattern

Lazy initialization

Geary, David (February 22, 2002). . JavaWorld. Retrieved 2020-07-20.

"Take control with the Proxy design pattern"

Provides componentized implementation of the Proxy Pattern in Java

PerfectJPattern Open Source Project

at the Wayback Machine (archived 2012-03-11)

Adapter vs. Proxy vs. Facade Pattern Comparison

Proxy Design Pattern

at the Wayback Machine (archived 2014-10-19)

Proxy pattern C++ implementation example

Proxy pattern description from the Portland Pattern Repository

$_$_$DEEZ_NUTS#3__titleDEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#3__descriptionDEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#3__heading--0DEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#3__description--0DEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#3__heading--1DEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#3__description--1DEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#4__titleDEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#4__subtextDEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#4__quote--0DEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#4__name--0DEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#4__company_or_position--0DEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#2__titleDEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#2__subtextDEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#2__quote--0DEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#2__name--0DEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#2__company_or_position--0DEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#2__quote--1DEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#2__name--1DEEZ_NUTS$_$_$

$_$_$DEEZ_NUTS#2__company_or_position--1DEEZ_NUTS$_$_$