# 策略模式和简单工厂模式相比,少了使用switch case 做判断,然后去实例化相应的
# 对象,比简单工厂模式更灵活。 它们代码的区别就在于此处使用了抽象类代替工厂类
# coding=utf-8class 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()
时间: 2024-10-20 15:11:44