查看: 470|回复: 6
打印 上一主题 下一主题

【设计模式玩pyBoard】4.代理模式

[复制链接] qrcode

27

主题

32

帖子

96

积分

注册会员

Rank: 2

积分
96
楼主
跳转到指定楼层
发表于 2016-6-2 08:44 AM | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    代理模式:为其他对象提供代理机制来控制访问这个对象。
    代码:

  1. import pyb

  2. class Interface:
  3.         def Request(self):
  4.                 pyb.LED(1).on()
  5.                 pyb.delay(1000)
  6.                 pyb.LED(1).off()
  7.                 pyb.delay(1000)
  8.                
  9. class Subject(Interface):
  10.         def Request(self):
  11.                 pyb.LED(2).on()
  12.                 pyb.delay(1000)
  13.                 pyb.LED(2).off()
  14.                 pyb.delay(1000)
  15.                
  16. class Proxy(Interface):
  17.         def Request(self):
  18.                 self.obj = Subject()
  19.                 self.obj.Request()
  20.         

  21. if __name__ == "__main__":
  22.         led = Proxy()
  23.         led.Request()
复制代码

    通过Proxy类来实现对Interface类的访问,但其实Interface类的Request函数并没有执行。看效果是这样,不知道理解的对不对。
回复

使用道具 举报

1

主题

87

帖子

25

积分

新手上路

Rank: 1

积分
25
沙发
发表于 2016-6-2 08:57 AM | 只看该作者
代理一般都代理啥呢、?
回复 支持 反对

使用道具 举报

0

主题

105

帖子

38

积分

新手上路

Rank: 1

积分
38
板凳
发表于 2016-6-2 09:00 AM | 只看该作者
灵澈 发表于 2016-6-2 08:57
代理一般都代理啥呢、?

对类的代理,实例化时不是直接对父类操作,经过子类的封装来选择执行父类的方法。
回复 支持 反对

使用道具 举报

145

主题

238

帖子

453

积分

中级会员

Rank: 3Rank: 3

积分
453
地板
发表于 2016-6-2 10:29 AM | 只看该作者
不懂呀。。。。
回复 支持 反对

使用道具 举报

12

主题

86

帖子

40

积分

新手上路

Rank: 1

积分
40
5#
发表于 2016-6-2 10:42 AM | 只看该作者
HelloWii 发表于 2016-6-2 10:29
不懂呀。。。。

我也不懂,一点一点的理解,可能有偏差。
回复 支持 反对

使用道具 举报

0

主题

73

帖子

6

积分

新手上路

Rank: 1

积分
6
6#
发表于 2016-6-2 03:20 PM | 只看该作者
好尼害的样子
回复 支持 反对

使用道具 举报

0

主题

65

帖子

4

积分

新手上路

Rank: 1

积分
4
7#
发表于 2016-6-2 06:24 PM | 只看该作者
灵澈 发表于 2016-6-2 15:20
好尼害的样子

学习中
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表