您的位置:首页 > 编程语言 > Python开发

Python设计模式(2)-策略模式

2016-03-13 21:00 555 查看
# 策略模式和简单工厂模式相比,少了使用switch case 做判断,然后去实例化相应的

# 对象,比简单工厂模式更灵活。 它们代码的区别就在于此处使用了抽象类代替工厂类

# coding=utf-8
class DbManager:
def __init__(self):
pass

def operate_db(self):
pass

class DbInsert(DbManager):
def operate_db(self):
print '插入操作'

class DbDel(DbManager):
def operate_db(self):
print '删除操作'

class DbUpdate(DbManager):
def operate_db(self):
print '更新操作'

class DbQuery(DbManager):
def operate_db(self):
print '查询操作'

class UnDef(DbManager):
def operate_db(self):
print '未实现'
return 0

class Strategy:
def __init__(self, strategy):
self.stra = strategy

def operate_db(self):
return self.stra.operate_db()

if __name__ == "__main__":
strategy = Strategy(DbDel())

print strategy.operate_db()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: