`

策略模式学习

    博客分类:
  • JAVA
阅读更多

 

一个策略模式的加减乘除:

抽象策略角色: (精囊妙计)  Operation抽象类(oper抽象方法)

具体策略角色: (三条妙计)  计算乘积,计算除法,计算加法,计算减法

环境角色:  (赵云)   有一个策略类( Operation )的引用

 

//抽象的策略角色
public abstract class Operation {
	public abstract void oper(float a,float b);
}

//下面两个类为具体的策略类
public class Add extends Operation{
	public void oper(float a,float b){
		float result=a+b;
		System.out.println("相加的结果为-->"+result);
	}
}

public class Jian extends Operation{
	public void oper(float a,float b){
		float result=a-b;
		System.out.println("相减的结果为-->"+result);
	}
}

//环境角色,包括策略类的引用
public class Calc {
	private Operation o;
	
	public final static Operation add=new Add();
	public final static Operation jian=new Jian();
	public final static Operation cheng=new Cheng();
	public final static Operation chu=new Chu();
	
	public void oper(float a,float b){
		o.oper(a, b);
	}
}

 

 

 

<!--EndFragment-->
分享到:
评论

相关推荐

    策略模式学习代码

    策略模式是一种行为设计模式,它使你能在运行时改变对象的行为。在策略模式中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为模式。 在策略模式中,我们创建表示各种策略的对象和一个行为根据...

    设计模式之策略模式 鸭子问题

    策略模式是一种经典的设计模式,通过鸭子问题,可以让学习者更好地了解设计模式的概念和实现。策略模式的主要思想是定义一系列的算法,并将每一个算法封装起来,使它们可以相互替换。这样,算法独立于使用它的客户而...

    设计模式C++学习之策略模式(Strategy)

    策略模式是一种行为设计模式,它使你能在运行时改变对象的行为。在C++中,策略模式通常通过定义一系列算法类并让它们之间可以互换来实现。这些算法类都实现了一个公共接口,使得它们可以被相同的客户端代码调用,而...

    Spring下使用策略模式

    在学习Spring策略模式的过程中,了解Bean的生命周期、依赖注入以及AOP的概念是至关重要的。同时,阅读和理解Spring的源码能帮助我们更好地掌握其工作原理,从而在实际项目中更灵活地运用策略模式。 最后,`pom.xml`...

    抽象工厂模式+工厂方法模式+策略模式+类图实现手机加工厂

    本文将探讨三个重要的设计模式:抽象工厂模式、工厂方法模式以及策略模式,并结合一个实际的场景——手机加工厂,来具体阐述它们的应用。 首先,我们来看**抽象工厂模式**。这个模式主要用于创建相关或依赖对象的...

    php设计模式-策略模式-例题学习

    在这个"php设计模式-策略模式-例题学习"的例子中,我们将深入理解策略模式的运用及其在PHP中的实现。 首先,让我们来看看核心的类和接口: 1. `HandStrategyInterface.php`: 这个文件定义了一个接口`...

    策略模式代码实现

    总的来说,通过分析这个“策略模式代码实现”,我们可以学习如何在实际项目中利用策略模式来组织代码,提高代码的可维护性和可扩展性。通过阅读和理解提供的源码,我们可以更深入地理解策略模式的工作原理及其在实际...

    Java 设计模式 策略模式

    策略模式是一种行为设计模式,它使你能在运行时改变对象的行为。在Java中,策略模式主要通过定义一系列的算法,并将每一...在Java开发中,尤其是在需要灵活处理算法选择的场景下,策略模式是一个值得学习和使用的工具。

    工厂模式和策略模式

    在软件设计模式的世界里,"工厂模式"和"策略模式"是两种常用的设计模式,它们在构建可扩展和可维护的代码中起着至关重要的作用。让我们深入探讨这两种模式及其在实际开发中的应用。 首先,工厂模式是一种创建型设计...

    策略模式demo例子

    策略模式是一种行为设计模式,它使你能在运行时改变对象的行为。在软件开发中,有时我们需要根据不同的场景或条件...通过学习和理解`StrategyMarket`中的示例,你可以更深入地了解如何在实际项目中有效地运用策略模式。

    设计模式之策略模式(附demo)

    策略模式是一种行为设计模式,它使你能在运行时改变对象的行为。在软件工程中,我们经常遇到需要根据不同...通过分析和学习"policy"压缩包中的示例代码,我们可以深化对策略模式的理解,并将其应用于实际的开发工作中。

    设计模式之策略模式,商场收银,封装算法

    这些文件可以帮助读者更好地理解和学习策略模式的实践应用。 总结起来,策略模式和封装算法在商场收银场景中的结合,提供了灵活的折扣策略管理方式,使得系统能够根据业务需求快速适应变化,同时也降低了代码的复杂...

    策略模式工厂方法模式观察者模式

    本资源主要涵盖了三种经典的设计模式:策略模式、工厂方法模式以及观察者模式,对于初学者来说是非常有价值的学习资料。 **策略模式**是一种行为设计模式,它使你能在运行时改变对象的行为。在策略模式中,一个类的...

    HeadFirst策略模式

    在《HeadFirst策略模式》中,作者通过生动有趣的例子和直观的视觉呈现,帮助读者深入理解这一模式,并提供了C++实现的示例代码,便于实践和学习。阅读本书,你可以更好地掌握如何在实际项目中运用策略模式,提高代码...

    设计模式之策略模式源码

    策略模式是一种行为设计模式,它使你能在运行时改变对象的行为。在软件开发中,我们经常遇到需要根据不同的条件或场景执行不同策略的情况。策略模式就是为了解决这类问题而诞生的,它将算法封装到具有共同接口的独立...

    java设计模式之策略模式与模板模式

    本篇文章将深入探讨两种重要的设计模式:策略模式和模板模式。通过理解这两种模式,开发者可以更好地组织代码,提高代码的灵活性和可扩展性。 ### 策略模式 策略模式是一种行为设计模式,它使你能在运行时改变对象...

    简单工厂模式、代理模式、策略模式如此相似

    在软件设计模式的世界里,"简单工厂模式"、"代理模式"和"策略模式"都是经典的设计模式,它们各自有着独特的应用场景和优缺点。本文将深入解析这三种模式的原理和区别,帮助读者理解它们在实际开发中的运用。 首先,...

    记事本 使用了策略模式和命令模式

    通过分析和学习这些代码,我们可以更深入地理解策略模式和命令模式在实际项目中的应用,同时也能提升自己的编程技巧和设计思维。 总的来说,策略模式和命令模式在记事本软件中的应用展示了设计模式在提高代码质量、...

    java策略模式示例.zip

    总的来说,这个"java策略模式示例"是一个很好的学习资源,通过实践可以深入理解策略模式的精髓,提高软件设计能力。在学习过程中,建议动手编写代码,模仿示例,甚至尝试创建自己的策略,以巩固理论知识并提升编程...

Global site tag (gtag.js) - Google Analytics