美文网首页
Python策略模式

Python策略模式

作者: 虾想家 | 来源:发表于2017-03-19 15:47 被阅读23次

策略模式,同一问题有多种不同的解法,即不同策略,一个物体可以动态地对策略进行更换。

class Stragety(object):
    def __init__(self, name):
        self.name = name

    def do(self):
        print(self.name)


class Question(object):
    def __init__(self, question):
        self.question = question
        self.stragety = None

    def set_stragety(self, stragety):
        self.stragety = stragety

    def solve(self):
        self.stragety.do()


def main():
    question = Question('need to solve problem')
    stragety_a = Stragety('a')
    question.set_stragety(stragety_a)
    question.solve()
    stragety_b = Stragety('b')
    question.set_stragety(stragety_b)
    question.solve()


if __name__ == '__main__':
    main()

相关文章

  • Python策略模式

    策略模式,同一问题有多种不同的解法,即不同策略,一个物体可以动态地对策略进行更换。

  • Python策略模式

    [python|高级篇|笔记|设计模式|策略模式] 引子 接着开始吧,还是读了HF之后的学习记录。继承并不是适当的...

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

    本系列文章是希望将软件项目中最常见的设计模式用通俗易懂的语言来讲解清楚,并通过Python来实现,每个设计模式都是...

  • Python设计模式 - 策略模式

    """ 策略模式:是一种定义一系列算法的方法,从概念上,所有这些算法完成的都是相同的工作,只是实现不同。 所以可以...

  • python-策略模式

    这一节,我们使用python的策略模式进行一个简单的打折相关的设计开发(这里参考了-大话设计模式一书,有时间的同学...

  • Python 之策略模式

    简介:策略模式(Pattern:Strategy)属于行为型模式,是指对一系列的算法定义,并将每一个算法封装起来,...

  • python 实现策略模式

    策略模式    定义一系列算法,把它们一一封装起来,并且使它们之间可以相互替换。此模式让算法的变化不会影响到使用算...

  • 11.7设计模式-策略模式-详解

    设计模式-策略模式 策略模式详解 策略模式在android中的实际运用 1.策略模式详解 2.策略模式在andro...

  • Python设计模式之策略模式

    前言 设计模式是我们实际应用开发中必不可缺的,对设计模式的理解有助于我们写出可读性和扩展更高的应用程序。虽然设计模...

  • [Python设计模式] 02 - 策略模式

    设计模式的目的是让代码易维护、易扩展,不能为了模式而模式,因此一个简单的工具脚本是不需要用到任何模式的。 策略模式...

网友评论

      本文标题:Python策略模式

      本文链接:https://www.haomeiwen.com/subject/kvnmnttx.html