Static Proxy - Marry example
How to implement static proxy?
The proxy object and real object need to implement same interface
Proxy object need to proxy real role (e.g., Wedding company help you to prepare wedding)
Benefit of static proxy:
Proxy object can do many operations that real object cannot
Real object can focus on its own task
Example of wedding company
package staticProxy;
public class TestStaticProxy {
public static void main(String[] args) {
Customer customer = new Customer();
WeddingCompany weddingCompany = new WeddingCompany(customer);
weddingCompany.HappyMarry();
}
}
//interface
interface Marry{
void HappyMarry();
}
//Customer: you
class Customer implements Marry{
public void HappyMarry() {
System.out.println("You're getting married");
}
}
//Proxy: Wedding company
class WeddingCompany implements Marry{
//Proxy target
private Marry target;
//Constructor
public WeddingCompany(Marry target) {
this.target = target;
}
public void HappyMarry() {
beforeMarry();
this.target.HappyMarry();
}
private void beforeMarry() {
System.out.println("Wedding company is planning the wedding for you");
}
}
Comments
Post a Comment