python设计模式(访问者模式)
2017-11-07 14:34
381 查看
学习版本3.5.2
#学习版本3.5.2#访问者模式定义:封装某些作用于某种数据结构中各元素的操作,它可以在不改变数据
#结构的前提下定义作用于这些元素的新操作
#举例子:系统访问玩家的等级
class Player(object):
def __init__(self, level):
self.level = level
def accept(self, visitor):
visitor.visit(self)
def showLevel(self):
print("level: ",self.level)
class PlayerList(object):
def __init__(self):
self.playerlist = []
for i in range(1,21):
self.playerlist.append(Player(i))
def getList(self):
return self.playerlist
class visitor(object):
pass
class GameSystem(visitor):
def visit(self, player):
player.showLevel()
if __name__ == "__main__":
playerlist = PlayerList()
for p in playerlist.getList():
p.accept(GameSystem())
运行结果
level: 1
level: 2
level: 3
level: 4
level: 5
level: 6
level: 7
level: 8
level: 9
level: 10
level: 11
level: 12
level: 13
level: 14
level: 15
level: 16
level: 17
level: 18
level: 19
level: 20
相关文章推荐
- 设计模式-访问者模式-visitor-python
- python设计模式之访问者模式
- 举例讲解Python设计模式编程中的访问者与观察者模式
- 举例讲解Python设计模式编程中的访问者与观察者模式
- 轻松掌握python设计模式之访问者模式
- Python设计模式(十五)【访问者模式】
- 设计模式-行为型模式,python访问者模式
- 学点PYTHON基础的东东--数据结构,算法,设计模式---访问者模式
- 轻松掌握python设计模式之访问者模式
- 设计模式之访问者模式代码示例
- 设计模式之访问者模式(Visitor)
- Python实现设计模式--04.模版方法模式(Template Method Pattern)
- C语言和设计模式(访问者模式)
- 24种设计模式--访问者模式【Visitor Pattern】
- Visitor(访问者)设计模式
- Python设计模式--建造者模式
- [Python设计模式] 第17章 程序中的翻译官——适配器模式
- Python设计模式(6)-原型模式
- java设计模式之访问者模式
- python设计模式(责任链模式)