`
deng816
  • 浏览: 6683 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

Java设计模式学习--策略模式

阅读更多

         写在前面的话

 

                       离毕业己经三个多月了,从实习到现在来公司己经快一年了,之前学习的好多东西正因为没有在现在的项目中体现,怕自己会忘记所有找了些资料重新冲一下电。记得老师曾经说过,把自己学习的知识,写在博客里,这样方便他人借鉴的同时,自己以后再想回过头来看也方便,故从现在开始每学习一个知识点,就记录一篇文章,些设计模式出自己CBF4LIFE的《我们的设计模式》大体上与之一至。在知识的海洋里我永远只是一只无法游到彼岸的菜鸟。

                      策略模式【Strategy Pattern】

  接口IStrategy只提供一个可执行的方法:

package com.dsl.strategy;
/**
 *一个策略的接口,提供一个妙计的使用方法,讲述的是三国的故事
 * @author 
 *
 */
public interface IStrategy {
	public void operate();//使用妙计的方法
}

 下面是三个实现类:

package com.dsl.strategy;

public class Backdoor implements IStrategy {
	//这是一个走后门的方法
	@Override
	public void operate() {
		System.out.println("找乔国老帮忙,让吴国太给孙权施加压力");
	}

}

 

package com.dsl.strategy;

public class GivenGreenLight implements IStrategy {

	@Override
	/**
	 * 求吴国太开个绿灯
	 */
	public void operate() {
		System.out.println("求吴国太开个绿灯,放走...");
	}

}
package com.dsl.strategy;

public class BlockEnemy implements IStrategy{

	@Override
	//阻挡追兵的方法
	public void operate() {
		System.out.println("吴夫人出马,你们这些追兵还不走?");
	}

}

  一个锦囊类用来装妙计呵呵:

package com.dsl.strategy;
/**
 * 一个装妙计的锦囊
 * @author DengShenglong
 *
 */
public class Context {
	private IStrategy strategy;//里面必须有妙计撒..
	//构造方法主其new的时候就初始化妙计
	public Context(IStrategy strategy){
		this.strategy=strategy;
	}
	//提供一个使用妙计的方法
	public void operate(){
		strategy.operate();
	}
}

 

package com.dsl.strategy;

public class ZhaoYun {
	private static Context context;//他身上是有锦囊的
	/**
	 * 赵云来使用锦囊了
	 * @param args
	 */
	public static void main(String[] args) {
		System.out.println("-----------先去吴国的时候-----------");
		context=new Context(new Backdoor());//这里就要使用第一个锦囊了
		context.operate();
		System.out.println("\n\n");
		
		System.out.println("---------要把吴夫人搞到手嘛------------");
		context=new Context(new GivenGreenLight());//要搞到美女必须要开绿灯啊!
		context.operate();
		System.out.println("\n\n");
		
		System.out.println("---------最后要把夫人接到蜀去了---------");
		context=new Context(new BlockEnemy());//就要把追兵给赶走
		context.operate();
	}
	//策略模式的好处就是:体现了高内聚低耦合的特性
}

 

2
0
分享到:
评论

相关推荐

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

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

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

    总的来说,这个“JAVA设计模式例程-策略模式”提供了一个学习和实践策略模式的好例子,通过阅读和分析源代码,我们可以更好地理解如何在实际开发中应用这一模式,提升我们的编程技巧和设计能力。

    java设计模式----单例模式

    在Java编程语言中,设计模式是一种经过验证的解决常见软件设计问题的最佳实践。单例模式是其中最常用的一种,它的核心思想是确保一个类只有一个实例,并提供全局访问点。单例模式的应用场景包括:控制资源的访问、...

    java设计模式--策略模式

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

    JAVA-设计模式-行为型模式-策略模式

    JAVA-设计模式-行为型模式-策略模式

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

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

    JAVA设计模式--程序设计--反射--注解--泛型

    Java设计模式、程序设计、反射、注解和泛型是Java开发中的核心概念,它们各自在不同的场景下发挥着重要作用,构建出高效、可维护的软件系统。 首先,Java设计模式是面向对象编程中的一种最佳实践,是解决常见问题的...

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

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

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

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

    java与设计模式--通俗易懂的介绍

    学习和理解设计模式是成为一名优秀的Java开发者的关键一步,它们提供了在特定场景下解决问题的通用框架,帮助我们写出更高质量、更易于维护的代码。在实际开发中,结合业务场景灵活运用这些模式,可以极大地提升软件...

    java设计模式--工厂模式

    Java设计模式中的工厂模式是一种创建型设计模式,它提供了一种创建对象的最佳方式。工厂模式的核心思想是将对象的创建过程封装起来,使得创建过程独立于使用过程,从而提高了代码的可扩展性和可维护性。在HeadFirst...

    java设计模式-策略模式

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

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

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

    Java与模式---闫宏

    《Java与模式---闫宏》这本书是针对Java程序员深入理解设计模式的重要参考资料。设计模式是软件工程中的一个重要概念,它们代表了在特定上下文中解决常见问题的最佳实践。这本书结合了中国的道家思想,以一种独特的...

    JAVA设计模式-chm版

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

    JAVA设计模式--入门

    学习Java设计模式不仅能提升编程技能,还能帮助开发者更好地理解和使用开源库。通过阅读《JAVA设计模式.chm》文档,你可以深入了解每个模式的用途、实现方式以及适用场景,逐步成为一名熟练的设计模式使用者。在实践...

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

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

    Java设计模式-策略模式

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

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

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

Global site tag (gtag.js) - Google Analytics