麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > Python > 正文

Python筆記之代理模式

2024-09-09 19:02:53
字體:
來源:轉載
供稿:網友

代理通常就是一個介于尋求方和提供方之間的中介系統。其核心思想就是客戶端(尋求方)沒有直接和提供方(真實對象)打交道,而是通過代理對象來完成提供方提供的資源或操作。

代理其實就是封裝實際服務對象的包裝器或代理人。代理可以為其包裝的對象提供附加功能,而無需改變此對象的代碼。代理模式的主要目的是為其他對象提供一個代理者或占位符,從而控制對實際對象的訪問。

三種常見的不同類型或不同應用場景下的代理:

虛擬代理:如果一個對象實例化后會占用大量的內存,可以先利用占位符表示,只有當客戶端請求或訪問這個對象時才會創建實際的對象。 遠程代理:給位于遠程服務器或不同地址空間上的實際對象提供了本地表示。例如應用程序可能需要獲取不同服務器或空間地址上的對象信息,這時候就可以通過一個本地的代理來獲取相關信息,而不需要直接去和各個服務器或空間地址上的對象“打交道”。 保護代理:通過代理來訪問真正的對象,訪問時,代理則檢查和控制來自客戶端的請求權限、認證、授權等,從而保護了真正的實際對象。

代理模式注意點:

客戶端實際上可以直接訪問真實對象以得到自己想要的結果,但是使用代理也會有許多優勢,就如同它的名字“代理”,是可以進行代理的,但是具體的使用還是需要根據具體情況而定。 代理是可以根據需要在代理的接口中添加額外的操作的,但需要注意的是這些額外的操作不要變成了“累贅”。 由于代理相當于是給真實對象進行了一層封裝,所以可能會增加一定的耗時。

簡單示例:

from abc import ABCMeta, abstractmethodclass HouseOwner(metaclass=ABCMeta):  """房主抽象類:都可以將房子出租"""  @abstractmethod  def rent_house(self, rental):    passclass Landlord(HouseOwner):  """真實對象:房主"""  def __init__(self):    self.account = 0    self.house_key = 'house key'  def rent_house(self, rental):    """收取租金,并房屋鑰匙給出租的人"""    self.account += rental    return self.house_keyclass HouseAgent:  """代理類:中介,代理房東出租他們的房子"""  def __init__(self):    self.account = 0    self.house_resource = []    # 房源肯定不只一個,這里就只簡單放一個了    self.house_resource.append(Landlord())  # 通常而言,代理類和表示真實對象的類具有相同的接口  # 表示此方法給真實對象某個操作進行的代理操作  def rent_house(self, rental, agency_fee):    """收取租金和中介費,并將房子出租給客戶"""    self.account += agency_fee    house_key = self.house_resource[0].rent_house(rental)    return house_keyclass Renter:  """客戶端類:租戶"""  def __init__(self):    self.account = 10000    self.house_key = None    self.house_agent = HouseAgent()  def find_house(self):    """在某一個中介(代理對象)處出租房子"""    self.house_key = self.house_agent.rent_house(3000, 1000)    print("You've rented a house!")if __name__ == '__main__':  renter = Renter()  renter.find_house()

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網之家。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: vidz 98hd| www日韩大片 | h视频免费看 | 97视频一二区 | 国内精品久久久久久久影视红豆 | 99影视电影电视剧在线播放 | 日韩视频一区在线 | 在线日韩av电影 | 中文字幕在线播放视频 | 一区二区三区日韩在线 | 国产精品久久久久久久av三级 | 日本xxxx色视频在线观看免费, | 色99久久| 他也色在线视频 | 黄色av一区二区三区 | 亚洲国产高清视频 | 欧美日韩亚洲国产精品 | 在火车上摸两乳爽的大叫 | 精品国产一区二区三区蜜殿 | 黄色网址在线播放 | 精品久久久久久久久久久久久 | 亚洲国产精品久久久久 | 国产噜噜噜噜久久久久久久久 | 成年人在线视频免费 | 一区二区三区欧美在线观看 | 羞羞网站在线看 | 精品国产呦系列在线看 | 午夜在线视频一区二区三区 | 国内精品久久久久久久影视红豆 | 精品亚洲免费 | 亚洲午夜在线观看 | 看av网址 | 日本精品视频一区二区三区四区 | 精品国产一区二区三区天美传媒 | 国产精品久久久久久久久久了 | 精品人人人人 | av成人免费观看 | 久久久国产精品网站 | 他也色在线视频 | 久久老司机精品视频 | 成人在线观看免费视频 |