python-策略模式

源码地址:https://github.com/weilanhanf/PythonDesignPatterns 说明: 策略指的就是为了达到某一目的而采取的手段或者方法。为了实现软件设计咪表,对象可能会用到多种多样的算法。这些算法甚至会经常改变。如果将这些算法都硬编码到对象中,将会使得对象本身变得臃肿不堪,而且有时候支持不同的算法也是一个性能负担。策略模式很好的实现了在运行时根据需要透明的更改对象的算法和将算法与本身对象解耦,从而避免出现上述两个问题。 因此策略模式可以定义为: 定义一系列算法,将每一个算法封装起来,并让它们可以相互替换。策略模式让算法可以独立于使用它的客户变化。每一个封装算法的类称之为策略(Strategy)类,策略模式提供了一种可插入式(Pluggable)算法的实现方案 策略模式的结构 策略模式包含以下3个角色: Context(环境类) Strategy(抽象策略类) ConcreteStrategy(具体策略类) 实例: 假设某司维护着一些客户资料,需要在该司有新产品上市或者举行新活动时通知客户。现通知客户的方式有两种:短信通知、邮件通知。应如何设计该系统的客户通知部分?为解决该问题,我们先构造客户类,包括客户常用的联系方式和基本信息,同时也包括要发送的内容。 class customer: customer_name="" snd_way="" info="" phone="" email=""…

mooc- 基本程序设计方法week1,week2

学习了第一单元我们几本可以写出10行左右的代码。 week1:python编程之基本方法 1、从计算机到程序设计语言: 理解计算机:计算机是能够根据一组指令操作数据的机器。 功能性:可以进行数据计算 可编程性:根据一系列指令来执行 计算机的分类:嵌入式计算机、超级计算机、服务器计算机、个人计算机、网络计算机 2、程序设计的基本方法: IPO方法: I:输入,程序的输入,包括用户手工输入、网络输入、程序内部参数输入、文件输入、随机数据输入。输入是一个程序的开始。 P:处理,程序的主要逻辑,程序对输入进行处理输出产生结果,处理的方法也叫算法,是程序最重要的部分,算法是一个程序的灵魂。 O:输出,程序的输出,包括屏幕显示输出、网络输出、操作系统内部变量输出、文件输出。输出是一个程序展示运算成果的方式。 那么有没有没有输入、输出的程序呢,答案是有,例如:where(True)a=2,这是一个死循环,死循环没有输入、输出,那么死循环是不是就没有价值呢,答案是否定的,死循环通过不间断的执行,可以快速消耗cpu的资源,因此我们可以测试cpu的性能。因此IPO是思考程序设计最基本的方法。 week1:python变成之实例解析 1、通过“温度转换程序”来讲解python语法元素入门 自找介质默写“温度转换程序”中的python语法元素,介质如下: i:首先体现了几本程序设计方法 ii:再次通过“温度转换程序”这个程序例子体现了python的语法元素,如下所列:…