【设计模式】代理模式

2017-11-02  本文已影响9人  lndyzwdxhs

0x01 意图

为其他对象提供一种代理以控制对这个对象的访问。

0x02 适用场景

UML类图

实例:为别人做嫁衣

0x03 代码

# coding:utf-8

import os
import json

################## 代理抽象类 ##################
class Subject(object):
    def __init__(self):
        pass
        
    def give_gift(self):
        pass
        
################## 追求者类 ##################
class Zhuiqiuzhe(Subject):
    def __init__(self, girl):
        self.girl_o = girl
        
    def give_gift(self):
        print self.girl_o.myname, "give u gift"
        
################## 代理类 ##################
class Proxy(Subject):
    def __init__(self, gg_t):
        self.zqz = Zhuiqiuzhe(gg_t)
        
    def give_gift(self):
        self.zqz.give_gift()
        

################## 客户端代码 ##################
class Girl(object):
    def __init__(self, name):
        self.myname = name
        
        
gg = Girl("YangLiu")

pxy = Proxy(gg)

pxy.give_gift()

欢迎关注微信公众号(coder0x00)或扫描下方二维码关注,我们将持续搜寻程序员必备基础技能包提供给大家。


上一篇 下一篇

猜你喜欢

热点阅读