`
men4661273
  • 浏览: 278238 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java设计模式-Strategy(策略)模式

    博客分类:
  • java
阅读更多
    strategy定义
    Strategy 是属于设计模式中 对象行为型模式,主要是定义一系列的算法,把这些算法一个个封装成单独的类.
    这里以字符串格式化为例子:

   package strategy;
//算法接口类,声明通用的方法
public interface Replace {

	public String replace(String s);
}




  package strategy;
//算法类A,实现接口的方法
public class ReplaceA implements Replace {

	public String replace(String s) {
		// TODO Auto-generated method stub
		return s.toLowerCase();
	}

}



package strategy;
//算法类B,实现接口的方法
public class ReplaceB implements Replace {

	public String replace(String s) {
	
		return s.toUpperCase();
	}

}


 
package strategy;
//策略管理类,指定使用策略,操作指定策略的算法
public class Context {
	
	private Replace replace;
	
	public Replace getReplace() {
		return replace;
	}

	public void setReplace(Replace replace) {
		this.replace = replace;
	}



	public String format(String s){
		
		return replace.replace(s);
	}

}





package strategy;
//测试类
public class Test {

	public static void main(String[] args) {
		Replace a = new ReplaceA();
		Replace b = new ReplaceB();
		
		Context c = new Context();
		//使用过程中,动态的更改策略算法,为策略的更改提供方便,客户端选择算法更容易
		c.setReplace(a);
		System.out.println(c.format("abcdEFG"));
		c.setReplace(b);
		System.out.println(c.format("abcdEFG"));
		
	}
}






  使用Strategy 模式可以在用户需要变化时,修改量很少,而且快速.



  • 大小: 2.3 KB
  • 大小: 32.8 KB
分享到:
评论

相关推荐

    java设计模式--策略模式

    策略模式是Java设计模式中的一种行为模式,它允许在运行时选择算法或策略,从而提供了更大的灵活性。在HeadFirst的《设计模式》一书中,第一章深入浅出地讲解了这一模式,通过实例帮助读者理解其核心概念和应用场景...

    java设计模式---诙谐易懂版

    根据给定文件内容,以下是关于Java设计模式的知识点说明: 1. 策略模式(Strategy Pattern)是一种行为设计模式,允许在运行时选择算法的行为。策略模式的意图是定义一系列算法,将每个算法封装起来,并使它们可以...

    Java 设计模式-策略模式(Strategy)Android讲解

    总结来说,策略模式在Java和Android开发中是一种非常实用的设计模式,它通过封装不同的策略,使程序能够根据需要在运行时灵活选择和切换算法,提高了代码的灵活性和可扩展性。理解和掌握策略模式对于提升Android开发...

    java设计模式-策略模式

    在这个“java设计模式-策略模式”的示例中,我们将深入探讨如何使用策略模式来实现一个简单的超市促销系统。 策略模式的核心思想是定义一系列的算法,并将每一个算法封装起来,使它们可以互相替换。这使得算法的...

    JAVA设计模式-chm版

    这个“JAVA设计模式-chm版”资源显然包含了关于Java设计模式的详细信息,便于理解和应用。设计模式是对常见问题的解决方案的标准化描述,它们在软件工程中起到了重要的作用,帮助开发者创建可维护、可扩展且易于理解...

    设计模式--策略模式java例子

    综上所述,策略模式在Java编程中是一个非常实用的设计模式,通过将算法封装到独立的策略类中,可以有效地管理和切换不同的行为,从而提升代码的灵活性和可维护性。在压缩包文件"StrategyPatterns例子"中,你可以找到...

    JAVA设计模式例程-策略模式

    在这个“JAVA设计模式例程-策略模式”的压缩包中,我们可以深入探讨策略模式的原理及其应用。 策略模式的核心思想是定义一系列算法,并将每一个算法封装起来,使它们可以相互替换。策略对象的使用让算法的变化独立...

    Java设计模式-策略模式

    总结来说,Java设计模式中的策略模式是一种非常实用的设计模式,它允许我们在运行时选择和改变算法,提高了代码的可维护性和灵活性。通过观看厉风行老师的教程,你可以深入理解策略模式的原理,并将其运用到实际项目...

    JAVA设计模式---100%推荐

    这篇名为"JAVA设计模式---100%推荐"的资源,可能是对Java设计模式的深入解析,旨在帮助开发者更好地理解和应用这些模式。 设计模式通常分为三类:创建型、结构型和行为型。创建型模式涉及对象的实例化过程,如单例...

    java常用设计模式-策略模式

    Java 策略模式详解 策略模式是一种行为型设计模式,它允许您定义一系列算法,将每个算法封装起来,并使它们可以互换使用。这种模式使得算法可以独立于使用它们的客户端而变化。在 Java 中,策略模式通常由一个接口...

    Java Design Demo--策略模式

    "策略模式"是其中一种行为设计模式,它允许我们在运行时选择算法或策略,而不是在编译时固定下来。这种模式使得代码更加灵活,易于扩展,同时也提高了可维护性。 在Java中,策略模式通常通过接口和实现类来实现。...

    设计模式--策略模式StrategyPattern

    策略模式是一种行为设计模式,它使你能在运行时改变对象的行为。在软件开发中,我们经常遇到需要根据不同的条件或场景来执行不同算法的情况。策略模式提供了一种将算法族封装到各自独立的类中,并在运行时选择具体...

    Java设计模式教程-策略模式Java开发Java经验技

    策略模式是Java设计模式中的一种行为模式,它允许在运行时改变对象的行为。在Java开发过程中,策略模式常被用来封装一系列算法,并使它们可以互相替换,从而使算法的变化独立于使用算法的客户。这种模式的核心在于...

    JAVA设计模式--入门

    9. 策略模式(Strategy):定义一系列算法,并将每个算法封装起来,使它们可以相互替换。 10. 模板方法模式(Template Method):定义一个操作中的算法骨架,而将一些步骤延迟到子类中。 11. 访问者模式(Visitor)...

    java-Simulation-strategy-game-.rar_Simulation _strategy

    这个模拟策略游戏可能采用了MVC(Model-View-Controller)或其他设计模式,如Observer或Command模式,来组织代码结构。 3. **游戏逻辑**:策略游戏的核心在于其规则和算法。开发者需要设计一套规则系统,包括游戏...

    设计模式-策略模式(Strategy)

    策略模式是一种行为设计模式,它使你能在运行时改变对象的行为。这种模式允许你使用算法族,而无需在代码中硬编码这些算法。通过将算法封装到具有共同接口的独立对象中,策略模式使得你可以根据需要灵活地切换算法,...

    java设计模式----源代码

    Java设计模式是软件开发中的重要概念,它是一种在特定情境下解决问题的经验总结,可以提高代码的可读性、可维护性和可扩展性。本压缩包包含的源代码涵盖了多个经典的设计模式,接下来将对这些模式进行详细介绍。 1....

    《Java设计模式》课后答案-刘伟.rar

    《Java设计模式》是刘伟教授的一本关于设计模式的教材,主要面向高等学校的学生和对Java编程有深入兴趣的开发者。设计模式是软件工程中的一种重要思想,它封装了在特定场景下的问题解决方案,可以提高代码的可读性、...

    Java Patterns -Strategy.rar_strategy

    策略模式是设计模式中的一种行为模式,它在Java编程中被广泛应用,特别是在处理算法多样化或需要灵活替换不同行为的场景下。策略模式的核心思想是定义一系列的算法,并将每一个算法封装起来,使它们可以互相替换,让...

    JAVA design pattern-java设计模式

    Java设计模式是软件工程中的一种最佳实践,它提供了一种在特定情况下解决常见问题的标准化方法。设计模式不是具体的代码或库,而是一种通用解决方案的描述,可以应用于各种编程语言,包括Java。在这个名为"JAVA ...

Global site tag (gtag.js) - Google Analytics