这一节主要说明下策略模式的使用。同样,我们模拟计算器的场景。和简单工厂模式相比,只是对简单工厂模式的工厂进行了一点修改。简单工厂模式请点击这里,这里主要看下修改的部分。
package com.yjck.strategy;
/**
* 策略模式
* 这个类根据操作类型的不同可以自由生成相应的处理类
*/
public class Factory {
private Operation operation = null;
public Factory(String opt){
if("+".equals(opt)){
operation = new OperationAdd();
}
if("-".equals(opt)){
operation = new OperationSub();
}
if("*".equals(opt)){
operation = new OperationMul();
}
if("/".equals(opt)){
operation = new OperationDiv();
}
}
/**
* 对计算方法的提取封装
* @param a
* @param b
* @return
*/
public double getResult(double a,double b){
return operation.getResult( a, b);
}
}
客户端的修改
package com.yjck.strategy;
public class Run {
/**
* 主类,程序入口
*/
public static void main(String[] args) {
Factory factory = new Factory("+");
double result = factory.getResult(1.00, 5.33);
System.out.println(result);
}
/**
* ********下面这些话是对策略模式的总结********
* 和简单工厂模式相比,策略模式只是对简单工厂模式进行了修改,
* 主要的修改了factory,增加了自己的方法getResutl()。
* 并在构造方法中对具体实现类进行了构造。这样在客户单调用的
* 时候我们只出现了Factory类,并没有出现具体计算方法类的父类
* Operation,而简单工厂模式除了计算方法类的父类外,还有Factory
* 类。在策略模式中的计算方法的父类又进行了封装,进一步解耦,实际
* 上就是对方法的封装。
* ***********************************************
*/
}
分享到:
相关推荐
**策略模式**是Java设计模式中的行为模式之一,它的核心思想是定义一系列的算法,并将每一个算法封装起来,使它们可以相互替换。这种模式让算法的变化独立于使用算法的客户。在Java编程中,策略模式常用于处理那些...
Java 设计模式之策略模式与状态模式 策略模式是 Java 中的一种设计模式,它主要用于解决系统与第三方接口进行数据交互的问题。当系统需要与多种格式的数据进行交互时,使用策略模式可以很好地解决这个问题。例如,...
在Java编程领域,设计模式是解决常见问题的可重用解决方案,它们代表了软件设计的最佳实践。本篇文章将深入探讨两种重要的设计模式:策略模式和模板模式。通过理解这两种模式,开发者可以更好地组织代码,提高代码的...
策略模式是一种行为设计模式,它使你能在运行时改变对象的行为。在Java中,策略模式主要通过定义一系列的算法,并将每一个算法封装起来,使它们可以互相替换,让算法独立于使用它的客户而变化。 首先,策略模式的...
策略模式是一种设计模式,它允许在运行时动态选择和切换不同的算法或策略,而不影响到使用这些算法的客户端代码。这种模式将策略的定义和使用分开,使得算法的变化不会影响到调用者,同时提供了更好的可扩展性。 在...
Java 经典设计模式讲解以及项目实战 设计模式简介:主要介绍各种设计模式的概念和运用场景等 设计模式综合运用:主要是笔者在实际工作中运用到的一些设计模式综合运用事例的提炼 Spring设计模式简介:主要是讲述...
策略模式是一种行为设计模式,它使你能在运行时改变对象的行为。在Java中,策略模式主要通过定义一系列的算法,并将每一个算法封装起来,使它们可以互相替换,让算法独立于使用它的客户而变化。 首先,策略模式的...
在这个“java设计模式-策略模式”的示例中,我们将深入探讨如何使用策略模式来实现一个简单的超市促销系统。 策略模式的核心思想是定义一系列的算法,并将每一个算法封装起来,使它们可以互相替换。这使得算法的...
Java设计模式之策略模式定义与用法详解 策略模式是一种行为设计模式,它定义了一系列算法,把他们一个一个封装起来,并且使他们可以相互替换。策略模式的主要优点是实现了上下文和具体策略的松耦合关系,使得上下文...
策略模式是一种行为设计模式,它使你能在运行时改变对象的行为。在Java中,策略模式通常涉及定义一系列算法,将每个算法封装到具有共同接口的独立类中,使得它们可以相互替换。这样做的主要好处是算法的变化不会影响...
Java设计模式是面向对象编程领域中的重要概念,它是一套被广泛接受并实践的解决软件设计问题的经验总结。设计模式并非具体的代码或库,而是一种在特定情境下为了解决常见问题而制定的通用解决方案的描述。它们描述了...
Java设计模式之策略模式 策略模式是对算法的封装,把一系列的算法分别封装到对应的类中,并且这些类实现相同的接口,相互之间可以替换。策略模式的定义是:定义一组算法,将每个算法都封装起来,并且使他们之间可以...
策略模式是Java设计模式中的一种非常重要的模式,它可以让算法独立于使用它的客户而独立变化。策略模式定义了一系列的算法,并将每一个算法封装起来,使它们还可以相互替换。 策略模式的组成部分: 1. 抽象策略...
《Java设计模式》是刘伟老师的一本经典教材,它深入浅出地讲解了软件设计中的重要概念——设计模式。设计模式是经验丰富的开发者在解决常见问题时总结出的通用解决方案,是软件开发中的智慧结晶。这本书的课后习题和...
在这个“JAVA设计模式例程-策略模式”的压缩包中,我们可以深入探讨策略模式的原理及其应用。 策略模式的核心思想是定义一系列算法,并将每一个算法封装起来,使它们可以相互替换。策略对象的使用让算法的变化独立...