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

# 策略模式和简单工厂模式相比,少了使用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()

转载于:https://www.cnblogs.com/zijiyanxi/p/5273140.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值