策略模式是一种定义一系列算法的方法,从概念上来看,所有这些算法完成的都是相同的工作,只是实现不同,它可以以相同的方式调用所有的算法,减少了各种算法类与使用算法类直接的耦合。UML 图:根据《大话设计模式》——第二章 商场促销这个案例代码来简单的记录一下策略模式的使用方式: /// ...
分类:
其他好文 时间:
2014-08-16 18:21:10
阅读次数:
187
第6章 精灵精灵(sprite),它是一种可以集成入动画之中的图像对象,赋予它们各种行为,精灵并非Canvas API的一部分,,但都是从它衍生而来本章将会实现三种设计模式:策略模式(精灵与绘制器解耦)、命令模式(精灵的动作)、享元模式(一个实例表示多个精灵)painter属性是一个指向Painte...
分类:
Web程序 时间:
2014-08-16 02:15:09
阅读次数:
267
设计模式 ( 十八 ) 策略模式Strategy(对象行为型)1.概述 在软件开发中也经常遇到类似的情况,实现某一个功能有多种算法或者策略,我们能够依据环境或者条件的不同选择不同的算法或者策略来完毕该功能。如查找、排序等,一种经常使用的方法是硬编码(Hard Coding)在一个类中,如须要提...
分类:
其他好文 时间:
2014-08-15 17:28:19
阅读次数:
241
在大话设计模式中大鸟以收银台收银收账系统为例介绍了策略模式:功能:1.根据单品以及单品数量计算总价2.打折处理3.满减折扣处理。。。。策略模式简介: 策略模式(Strategy),它定义了算法家族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化,不会影响到使用算法的客户。此案例策略模式结....
分类:
其他好文 时间:
2014-08-15 17:27:09
阅读次数:
279
因为下机受到计算钱到两个参数的影响,一个是用户类型,一个是收费策略,所以就用桥接模式分开这两个变化,比起以前写N*M个 策略上机策略更易于扩展和应对变化,可以加上很多类型的用户,也可以写很多如何收费的方法,如果两个方向的子类都很多,那么产生的N*M中组合也会很大,和主要使用策略模式相比,这种结构感觉是一种动态生成策略,比提前写好所有的策略更灵活。...
分类:
其他好文 时间:
2014-08-13 22:24:17
阅读次数:
231
1、策略模式和状态模式的区别和联系(本部分转载自:http://letscoding.cn/java%E4%B8%AD%EF%BC%8C%E7%8A%B6%E6%80%81%E6%A8%A1%E5%BC%8F%E5%92%8C%E7%AD%96%E7%95%A5%E6%A8%A1%E5%BC%8F%...
分类:
其他好文 时间:
2014-08-13 12:31:26
阅读次数:
237
在做第一次机房收费系统中,有一项很令人头疼的事情,那就是临时用户的问题,在结账的时候,我们需要考虑该用户是固定用户还是临时用户,原来在用VB6.0做的时候,如果我们实现了这个功能,那么在代码中会出现很多的IF....else 语句,同时,我们必须要调用数据设定窗体中的数据,这样的话,会很麻烦,写出来的代码也会很乱,如今学习了设计模式,我们可以利用策略模式来实现对不同用户的消费金额进行计算。将不同的...
分类:
其他好文 时间:
2014-08-12 17:23:37
阅读次数:
272
策略设计模式:定义一组算法,将每个算法都分装起来,并使他们之间可以互换。 策略模式就是使用的面向对象思想中的继承和多态的机制策略模式的通用类图:Context类:Strategy类,并且和Strategy类是整体和个体的关系,即聚合关系。对策略角色个体进行封装。Strategy接口:定义这个策略或算...
分类:
其他好文 时间:
2014-08-12 16:10:34
阅读次数:
247
1、定义策略模式定义了算法族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。2、问题深入现在有一个Duck(鸭子)的抽象类,抽象了鸭子的公共行为:quack、swim等,并有RedhadDuck继承此类,并拥有了Duck的所有公共的行为。代码如下:package st...
分类:
其他好文 时间:
2014-08-11 17:03:12
阅读次数:
187
Context(应用场景):
1、需要使用ConcreteStrategy提供的算法。
2、内部维护一个Strategy的实例。
3、 负责动态设置运行时Strategy具体的实现算法。
4、负责跟Strategy之间的交互和数据传递。
Strategy(抽象策略类):
1、 定义了一个公共接口,各种不同的算法以不同的方式实现这个接口,Context使用这个接口调用不同的算法,一般使用...
分类:
其他好文 时间:
2014-08-10 18:39:20
阅读次数:
349