ホームページ Java &#&チュートリアル Java で一般的に使用されるプロキシ設計パターン - 例の概要

Java で一般的に使用されるプロキシ設計パターン - 例の概要

Jul 24, 2018 pm 05:16 PM

はじめに: プロキシ モードは、特定のオブジェクトに対してプロキシ オブジェクトを提供し、プロキシ オブジェクトは元のオブジェクトへの参照とアクセスを制御します。オブジェクトへのアクセス前、アクセス後、例外などの状況に対処できます。これは、クラス拡張 (継承、装飾、プロキシ) の手段として理解できます。

、関数

  • 中間分離関数: 場合によっては、クライアント クラスがデリゲート オブジェクトを直接参照したくない、または参照できない一方で、プロキシ クラス オブジェクトはクライアントで利用されるクラスとデリゲートオブジェクトの仲介的な役割を果たし、プロキシクラスとデリゲートクラスが同じインターフェースを実装しているのが特徴です。

  • 開閉の原則、関数の追加: エージェント クラスは、クライアント クラスとデリゲート クラスの間の仲介者であることに加えて、関数を追加してデリゲート クラスを拡張することもできます。この方法では、委任クラスを変更せずに、プロキシ クラスを変更するだけで済みます。これは、コード設計の開始と終了の原則に準拠します。プロキシ クラスは主に、デリゲート クラスのメッセージの前処理、メッセージのフィルタリング、デリゲート クラスへのメッセージの転送、およびその後の返された結果の処理を担当します。プロキシ クラス自体は実際にはサービスを実装しませんが、デリゲート クラスの関連メソッドを呼び出すことによって特定のサービスを提供します。実際のビジネス機能は引き続きデリゲート クラスによって実装されますが、一部のパブリック サービスはビジネス機能の実行の前後に追加できます。たとえば、プロジェクトにキャッシュ機能とログ機能を追加したい場合、カプセル化されたデリゲート クラスを開かずに、プロキシ クラスを使用してそれを完了できます。

2. プロキシモードの分類

  • 静的プロキシは、プログラムまたは特定のツールによってソースコードが自動的に生成され、コンパイルされることで作成されます。プログラムを実行する前に、プロキシ クラスの .class ファイルが作成されています。

  • 動的プロキシは、プログラムの実行時にリフレクションメカニズムを通じて動的に作成されます。

3.コード実装プロキシ プロセッサーは正常です。実際のプロキシ オブジェクトは、実行時に JDK によって動的に作成されます。

// 第一步,创建服务类接口

public interface BuyHouse {
    void buyHosue();
}


/**
 * 第二步,实现服务接口
 */
public class BuyHouseImpl implements BuyHouse {

    @Override
    public void buyHosue() {
        System.out.println("我要买房");
    }
}


/**
 * 第三步,创建代理类
 */
public class BuyHouseProxy implements BuyHouse {

    private BuyHouse buyHouse;

    public BuyHouseProxy(final BuyHouse buyHouse) {
        this.buyHouse = buyHouse;
    }

    @Override
    public void buyHosue() {
        System.out.println("买房前准备");
        buyHouse.buyHosue();
        System.out.println("买房后装修");
    }
}

/**
 * 第四步,编写实现类
 */
public class ProxyTest {
    public static void main(String[] args) {
        BuyHouse buyHouse = new BuyHouseImpl();
        buyHouse.buyHosue();
        BuyHouseProxy buyHouseProxy = new BuyHouseProxy(buyHouse);
        buyHouseProxy.buyHosue();
    }
}
ログイン後にコピー
関連する推奨事項:

よく使われる Java デザイン パターン - ファクトリ パターンの詳細な説明

Java デザイン パターンのプロキシ パターン (Proxy pattern) の紹介

ビデオ チュートリアル: デザイン パターン

以上がJava で一般的に使用されるプロキシ設計パターン - 例の概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)