Suppose that I am implementing a remote proxy in Java to an object that is likely to reside on a remote server but may reside locally.
There's my real object on the remote server, there's the local implementation (the proxy itself), and there's the interface I provide to my program which hides the details of where the object actually is. The local representation may contact a local or a remote implementation of the object.
What is the standard terminology in Java for these things? What should I name my interfaces/classes?
I've seen the terms Subjects, Images, and Implementations thrown around (probably from the GOF days), but I wonder what is acceptable way to do the naming for a framework written in Java.