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()
  • 相关阅读:
    poj3411
    2241 排序二叉树
    1004 四子连棋
    Poj1482
    poj2046
    Poj3087
    poj3414
    php使用flock堵塞写入文件和非堵塞写入文件
    HTML样式以及使用
    高效程序猿的狂暴之路
  • 原文地址:https://www.cnblogs.com/zijiyanxi/p/5273140.html
Copyright © 2011-2022 走看看