マルチスレッド (2) 静的プロキシ モード

静的プロキシとスレッドの実装

静的プロキシを使用する

静的プロキシを使用する基本的な手順は次のとおりです。

1. プロキシ オブジェクトと実際のオブジェクトのパブリック インターフェイスを定義します。

2. 実際のオブジェクトはパブリック インターフェイスでメソッドを実装します。

3. プロキシ オブジェクトはパブリック インターフェイスでメソッドを実装し、メソッドのロジックを実際のオブジェクトに転送します。

結婚の例を通して静的プロキシを説明する

  • あなた:本当の性格
  • ウェディング会社:あなたの代わりに結婚式のお手伝いをします
  • 結婚: 結婚インターフェイスを実装します。

**結婚インターフェイス**

interface Marry{
    
    
    void HappyMarry();
}

本当の性格、結婚しなさい

class You implements Marry{
    
    
    @Override
    public void HappyMarry() {
    
    
        System.out.println("小明结婚了");
    }
}

ウェディング会社、代理店としてあなたの結婚をお手伝いします

class WeddingCompany implements Marry{
    
    
    //代理睡--》真实目标角色
    private  Marry target;
    public WeddingCompany(Marry target){
    
    
        this.target = target;
    }
    @Override
    public void HappyMarry() {
    
    
    //结婚前
    before();
     //目标对象结婚
    this.target.HappyMarry();
    //结婚后
    after();
    }

    private void after() {
    
    
        System.out.println("结婚之后,收尾款");
    }

    private void before() {
    
    
        System.out.println("结婚前布置现场");
    }
}

ここのmain 関数は
ラムダ式を使用します

public class StaticProxy {
    
    
    public static void main(String[] args) {
    
    
        new Thread(()-> System.out.println("I Love You")).start();
        new WeddingCompany(new You()).HappyMarry();
       /* WeddingCompany weddingCompany = new WeddingCompany(new You());
        weddingCompany.HappyMarry();*/
    }

}


ここに画像の説明を挿入
出力
概要静的プロキシ モードの概要:
実オブジェクトとプロキシ オブジェクトは同じインターフェイスを実装する必要があり、
プロキシ オブジェクトは実際の役割を表す必要があります。
利点:
プロキシ オブジェクトは、実オブジェクトではできない多くのことを実行できます。
実オブジェクトは独自の処理に重点を置いています。

おすすめ

転載: blog.csdn.net/sand_wich/article/details/107645149