0
Proxy
Proxy パターン
クラス図
Decorator パターンと    似てるね!
//Proxy Patternpublic class Proxy implements Subject{    private Subject subject;    public Proxy(){        subject = new ...
Proxy パターン●   Decorator パターンと似てるけど違うよ    ●   Decorator は移譲オブジェクトへの機能の追加●   Proxy は移譲オブジェクトへのアクセスをコン    トロール●   Proxy は移譲オブ...
Proxy パターンの細かい種類●   Virtual Proxy    ●   主にリソースを食う移譲オブジェクトの遅延初期        化や使い回し (Flyweight) など●   Remote Proxy    ●   隠れてこそこ...
Java EE におけるプロキシ●   JNDI から取得できるコンポーネントは大抵全    部プロキシ    ●   java.sql.Connection    ●   javax.jms.Connection    ●   EJB●   ...
java.lang.reflect.Proxy●   ダイナミックプロキシを作ることができる    ●   プロキシ対象クラスが事前にわからない場合に使        うInvocationHandler handler = new MyInv...
Upcoming SlideShare
Loading in...5
×

Proxy

1,999

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,999
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Proxy"

  1. 1. Proxy
  2. 2. Proxy パターン
  3. 3. クラス図
  4. 4. Decorator パターンと 似てるね!
  5. 5. //Proxy Patternpublic class Proxy implements Subject{ private Subject subject; public Proxy(){ subject = new RealSubject(); } public void doAction(){ ...; subject.doAction(); ...; }}//client for Proxypublic class Client{ public static void main(String[] args){ //the client doesn’t know the Proxy //delegate another object Subject subject = new Proxy(); ...; }}
  6. 6. Proxy パターン● Decorator パターンと似てるけど違うよ ● Decorator は移譲オブジェクトへの機能の追加● Proxy は移譲オブジェクトへのアクセスをコン トロール● Proxy は移譲オブジェクトをクライアントへ露 出させない
  7. 7. Proxy パターンの細かい種類● Virtual Proxy ● 主にリソースを食う移譲オブジェクトの遅延初期 化や使い回し (Flyweight) など● Remote Proxy ● 隠れてこそこそリモート通信するやつ● Access Proxy ● アクセス制限など● Smart Proxy ● Decorator パターンのこと
  8. 8. Java EE におけるプロキシ● JNDI から取得できるコンポーネントは大抵全 部プロキシ ● java.sql.Connection ● javax.jms.Connection ● EJB● Java EE ではこれらのプロキシオブジェクト たちハンドル、スタブと呼ばれる
  9. 9. java.lang.reflect.Proxy● ダイナミックプロキシを作ることができる ● プロキシ対象クラスが事前にわからない場合に使 うInvocationHandler handler = new MyInvocationHandler(...);Foo f = (Foo) Proxy.newProxyInstance(Foo.class.getClassLoader(), new Class[] { Foo.class }, handler);
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×