liguofeng29’s blog

個人勉強用ブログだっす。

デザインパターン - Proxy

【proxyパターンとは】

代理人オブジェクトと本人オブジェクトを作成し、

本人でしかできない処理以外は代理人オブジェクトが行う。

 

proxyパターンのクラス図】

 

proxyパターンのメリット】

さ~

 

【サンプル】

Teacher.java
package proxy;
 
public interface Teacher {
 
    public void answer1();
    public void answer2();
    public void answer3();
}
 
 
 
 

MainTeacher.java
package proxy;
 
public class MainTeacher implements Teacher {
 
    @Override
    public void answer1() {
        System.out.println("回答は1です。");
 
    }
 
    @Override
    public void answer2() {
        System.out.println("回答は2です。");
 
    }
 
    @Override
    public void answer3() {
        System.out.println("回答は3です。");
 
    }
 
}
 
 

Soup.java
package abstractFactory.abstractItem;
 
// 抽象部品
public abstract class Soup {
public abstract String getName();
}
 
 
 
 

ProxyTeacher.java
package proxy;
 
public class ProxyTeacher implements Teacher {
 
    private MainTeacher mainTeacher = new MainTeacher();
 
    @Override
    public void answer1() {
        System.out.println("回答は1です。");
 
    }
 
    @Override
    public void answer2() {
        System.out.println("回答は2です。");
 
    }
 
    @Override
    public void answer3() {
        mainTeacher.answer3();
    }
 
}
 

 

ProxyTest.java
package proxy;
 
public class ProxyTest {
 
    /**
     * @param args
     */
    public static void main(String[] args) {
        Teacher teacher = new ProxyTeacher();
 
        teacher.answer1();
        teacher.answer2();
        teacher.answer3();
    }
}
 
 
 
 
 
 
実行結果
回答は1です。
回答は2です。
回答は3です。