zoukankan      html  css  js  c++  java
  • 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()
  • 相关阅读:
    wc 统计程序
    读C#程序
    VS2013 单元测试
    android开发心得之知识的量变到质变
    大学第一篇博客
    团队作业七
    团队作业六
    团队作业五
    团队作业四
    团队作业三
  • 原文地址:https://www.cnblogs.com/zijiyanxi/p/5273140.html
Copyright © 2011-2022 走看看