国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python設計模式之代理模式實例詳解

2020-02-16 00:43:48
字體:
來源:轉載
供稿:網友

本文實例講述了Python設計模式之代理模式。分享給大家供大家參考,具體如下:

代理模式(Proxy Pattern):為其他對象提供一種代理以控制對這個對象的訪問

#!/usr/bin/env python# -*- coding:utf-8 -*-__author__ = 'Andy'"""大話設計模式設計模式——代理模式代理模式(Proxy Pattern):為其他對象提供一種代理以控制對這個對象的訪問實現:戴勵 替 卓賈易 送禮物給 嬌嬌模型:#公共接口類class InterFace:  def request(self):    pass#真實類class RealSubject(InterFace):  def request(self):    print 'RealSubject request'#代理類 調用真實類的內部方法class ProxySubject(InterFace)  def request(self):    self.real = RealSubject()    self.real.request()"""# 送禮物接口class GiveGift(object):  # 送洋娃娃  def GiveDolls(self):    pass  # 送花  def GiveFlowers(self):    pass  # 送巧克力  def GiveChocolate(self):    pass# 被追求者類class SchoolGirl(object):  def __init__(self, name):    self.name = name# 追求者類class Pursuit(GiveGift):  def __init__(self, Girl):    self.Girl = Girl  def GiveDolls(self):    print self.Girl.name, '送你洋娃娃'  def GiveFlowers(self):    print self.Girl.name, '送你花'  def GiveChocolate(self):    print self.Girl.name, '送你巧克力'# 代理類class Proxy(GiveGift):  def __init__(self, Girl):    self.proxy = Pursuit(Girl)  # 送洋娃娃  def GiveDolls(self):    self.proxy.GiveDolls()  # 送花  def GiveFlowers(self):    self.proxy.GiveFlowers()  # 送巧克力  def GiveChocolate(self):    self.proxy.GiveChocolate()if __name__ == '__main__':  jiaojiao = SchoolGirl('jiaojiao')  daili = Proxy(jiaojiao)  daili.GiveDolls()  daili.GiveFlowers()  daili.GiveChocolate()

運行結果:

jiaojiao 送你洋娃娃
jiaojiao 送你花
jiaojiao 送你巧克力

上面的類的設計如下圖:

代理類Proxy引用代理的實體Pursite,提供與Pursite相同的接口來代替實體

更多關于Python相關內容可查看本站專題:《Python數據結構與算法教程》、《Python Socket編程技巧總結》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》及《Python入門與進階經典教程》

希望本文所述對大家Python程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 牡丹江市| 察哈| 呼伦贝尔市| 望城县| 文化| 米易县| 青川县| 忻州市| 宝坻区| 岗巴县| 个旧市| 三江| 福州市| 小金县| 大田县| 墨玉县| 盐城市| 南陵县| 东乡县| 明水县| 丰城市| 黔东| 玛多县| 澄迈县| 定南县| 娱乐| 邻水| 德令哈市| 蓝山县| 鄂温| 德兴市| 萍乡市| 库伦旗| 仙居县| 祁阳县| 丽水市| 辰溪县| 阳东县| 轮台县| 鹰潭市| 湖北省|