ホームページ  >  記事  >  バックエンド開発  >  Python学習エージェントモード

Python学習エージェントモード

little bottle
little bottle転載
2019-04-28 11:22:282643ブラウズ

この記事では主に Python でのプロキシ モードの実装について紹介します。興味深い例を使用してデモ コードを作成しています。これは一定の参考価値があります。興味のある友人はそれについて学ぶことができます。お役に立てれば幸いです。

プロキシ モードの定義: このオブジェクトへのアクセスを制御するために、他のオブジェクトにプロキシを提供します。場合によっては、あるオブジェクトが適切でないか、別のオブジェクトを直接参照できない場合、プロキシ オブジェクトがクライアントとターゲット オブジェクトの間の仲介者として機能することがあります。

プロキシ モードのアプリケーション シナリオ:

1. リモート プロキシ、つまり、異なるアドレス空間にあるオブジェクトのローカル表現を提供します。これにより、オブジェクトが別のアドレス空間に存在するという事実が隠蔽されます。

2. 仮想エージェントは、必要に応じて作成すると高価なオブジェクトです。これは、インスタンス化に時間がかかる実際のオブジェクトを保存するために使用されます。たとえば、HTML では、画像の読み込みに時間がかかるため、仮想エージェントは実際の画像を置き換えるために使用されます。

3. セキュリティ エージェントは権限

4. インテリジェントなガイダンスとは、実際のオブジェクトが呼び出されると、エージェントが他のことを処理することを意味します

例: 男性 A は女性 A が好きですが、彼はそこで、男性Bが女性Aにプレゼントを送る代理人として委託されることになるが、この要件を実現するためのポイントは、男性Aと女性Aが直接接触しないことである。彼らは全員、エージェントの男性 B を通じて間接的に接触します。

#encoding=utf-8
__author__ = 'kevinlu1010@qq.com'
from abc import ABCMeta, abstractmethod

class FemaleA():
    def __init__(self, name):
        self.name = name

class Male():
    __metaclass__ = ABCMeta

    @abstractmethod
    def send_flower(self):
        pass

    @abstractmethod
    def send_chocolate(self):
        pass

    @abstractmethod
    def send_book(self):
        pass

class MaleA(Male):
    def __init__(self, name, love_female):
        self.name = name
        self.love_female = FemaleA(love_female)

    def send_flower(self):
        print '%s送花给%s' % (self.name, self.love_female.name)

    def send_chocolate(self):
        print '%s送巧克力给%s' % (self.name, self.love_female.name)

    def send_book(self):
        print '%s送书给%s' % (self.name, self.love_female.name)


class Proxy(Male):
    def __init__(self, name, proxyed_name, love_female):
        self.name = name
        self.proxyed = MaleA(proxyed_name, love_female)

    def send_flower(self):
        self.proxyed.send_flower()

    def send_chocolate(self):
        self.proxyed.send_chocolate()

    def send_book(self):
        self.proxyed.send_book()

if __name__ == '__main__':
    p = Proxy('男B', '男A', '女A')
    p.send_book()
    p.send_chocolate()
    p.send_flower()

関連チュートリアル: Python ビデオ チュートリアル

以上がPython学習エージェントモードの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcnblogs.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。