策略模式的目的是定义一系列算法,把它们封装起来,并且使它们可以相互替换.
本模式使得算法可以独立于它的客户而变话.
-
-
-
-
-
-
public interface Strategy {
-
public void algorithmInterface();
- }
-
-
-
-
-
-
-
public class ConcreteStrategyA implements Strategy {
-
public void algorithmInterface() {
-
System.out.println("Called ConcreteStrategyA.algorithmInterface()");
- }
- }
-
-
-
-
-
-
-
public class ConcreteStrategyB implements Strategy {
-
public void algorithmInterface() {
-
System.out.println("Called ConcreteStrategyB.algorithmInterface()");
- }
- }
-
-
-
-
-
-
-
public class ConcreteStrategyC implements Strategy {
-
public void algorithmInterface() {
-
System.out.println("Called ConcreteStrategyC.algorithmInterface()");
- }
- }
-
-
-
-
-
-
-
public class Context {
- Strategy strategy;
-
-
public Context(Strategy strategy) {
-
this.strategy = strategy;
- }
-
-
public void contextInterface() {
- strategy.algorithmInterface();
- }
- }
-
-
-
-
-
-
-
public class Client {
-
public static void Main(String[] args) {
-
Context c = new Context(new ConcreteStrategyA());
- c.contextInterface();
-
-
Context d = new Context(new ConcreteStrategyB());
- d.contextInterface();
-
-
Context e = new Context(new ConcreteStrategyC());
- e.contextInterface();
- }
- }
应用场合:
1、多个类的分别只是在于行为的不同。
2、你需要对行为的算法做很多的变动。
3、客户不知道算法要使用的数据。
- 大小: 9.6 KB
分享到:
相关推荐
比如说我要出行旅游,那么出行方式有--飞机、自驾游、火车等,这几种方式就是策略。再比如:某大型商场搞活动--满 100元送杯子,满300减50,满1000元抽奖「一等将彩色电视机」,这种活动也是策略。在游戏中,我们打...
设计模式-策略模式(Strategy)结合Android小知识讲解,简单明了
c++设计模式-行为型模式-策略模式;qt工程;c++简单源码; 策略(Strategy)模式的定义:该模式定义了一系列算法,并将每个算法封装起来,使它们可以相互替换,且算法的变化不会影响使用算法的客户。策略模式属于...
在策略模式(Strategy Pattern)中一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。
C#面向对象设计模式 (行为型模式) Strategy 策略模式 视频讲座下载
设计模式--策略模式StrategyPattern
微信小程序--使用策略模式进行表单验证strategy-master.zip
走进设计模式之 策略模式(Strategy) 代码
strategy策略模式源码 策略模式源码 策略模式源码 策略模式源码
设计模式C++学习之策略模式(Strategy)
【Java设计模式】(2)策略模式Strategy
在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。 在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context 对象。...
2009-03-9 策略模式Strategy:当解决一个问题的途径(策略)有很多种的时候,每一种处理方式都可以做为一种处理策略,通过管理类来切换调用不同的策略。
设计模式 策略模式。金典模式之策略模式代码。
C#面向对象设计模式纵横谈(23):(行为型模式) Strategy 策略模式
策略模式思想简单实现,初学者可看看。 设计模式 策略模式 Strategy
在这里与各位分享本人从网络上下载的C#面向对象设计模式纵横谈系列视频,共有25节,除了第一节需要各位贡献一点资源分以作为对本人上传资源的回馈,后面的其他资源均不需要... 这是第23节:行为型模式Strategy策略模式
一个把数组导出为表格的算法,输入一个数组,导出一个表格,当用户想改变导出的表格时,便可以通过改变输出的算法改变输出的结果。如果输出的内容用以网页显示,则输出 <table><tr><td>Jack</td></tr><tr><td>Maya...
head-first-design-pattern源码,第一章strategy-pattern(策略模式),融入了自己的见解,有一些错误的实现,也有一些标准答案,对照着看更能理解模式的精髓。