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