国产探花免费观看_亚洲丰满少妇自慰呻吟_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程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 荥阳市| 增城市| 峨边| 江口县| 武威市| 剑阁县| 吉安市| 贺兰县| 策勒县| 绥阳县| 九寨沟县| 霍州市| 合水县| 肇庆市| 桂平市| 滕州市| 武强县| 渭南市| 青浦区| 乳源| 邹平县| 彰化县| 新蔡县| 韩城市| 蓬溪县| 龙川县| 定州市| 通河县| 河南省| 井研县| 定安县| 肥西县| 紫云| 徐闻县| 永新县| 辽源市| 蒙阴县| 通山县| 壤塘县| 安顺市| 安阳县|