A proxy is an object that represents another object and controls access to it. Think of someone’s spokesperson or a secretary. If someone brings a package to a big shot, the package is taken by the secretary, who would inspect the contents and then either deliver the package to the boss or delegate its further processing to someone else (e.g., security personnel).
In object-oriented programming in general and in ActionScript
specifically, you can wrap the class XYZ in
mx.util.ObjectProxy, which will be a proxy that
controls access to XYZ’s properties.
Let’s think of some concrete Flex examples that illustrate how
proxies can control access to object properties by dispatching
propertyChange events. As a matter of fact, your
Flex programs that use data binding already implement a similar mechanism
of event notifications under the hood.
Data binding is a very useful technique that
substantially increases the productivity of Flex developers. If you start
the declaration of a variable or a class with the meta tag
[Bindable], all of a sudden the variable starts
emitting events about all changes that can happen to it. The syntax to
make this happen is very simple:
[Bindable] var lastName:String;
How does this event notification mechanism get engaged by simply
adding the magic word
are all seasoned programmers and don’t believe in the tooth fairy. Someone
has to write the code that will dispatch events when the value of the
lastName changes. The compiler does it ...