写在前面的话:
离毕业己经三个多月了,从实习到现在来公司己经快一年了,之前学习的好多东西正因为没有在现在的项目中体现,怕自己会忘记所有找了些资料重新冲一下电。记得老师曾经说过,把自己学习的知识,写在博客里,这样方便他人借鉴的同时,自己以后再想回过头来看也方便,故从现在开始每学习一个知识点,就记录一篇文章,些设计模式出自己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(); } //策略模式的好处就是:体现了高内聚低耦合的特性 }
相关推荐
根据给定文件内容,以下是关于Java设计模式的知识点说明: 1. 策略模式(Strategy Pattern)是一种行为设计模式,允许在运行时选择算法的行为。策略模式的意图是定义一系列算法,将每个算法封装起来,并使它们可以...
总的来说,这个“JAVA设计模式例程-策略模式”提供了一个学习和实践策略模式的好例子,通过阅读和分析源代码,我们可以更好地理解如何在实际开发中应用这一模式,提升我们的编程技巧和设计能力。
在Java编程语言中,设计模式是一种经过验证的解决常见软件设计问题的最佳实践。单例模式是其中最常用的一种,它的核心思想是确保一个类只有一个实例,并提供全局访问点。单例模式的应用场景包括:控制资源的访问、...
策略模式是Java设计模式中的一种行为模式,它允许在运行时选择算法或策略,从而提供了更大的灵活性。在HeadFirst的《设计模式》一书中,第一章深入浅出地讲解了这一模式,通过实例帮助读者理解其核心概念和应用场景...
JAVA-设计模式-行为型模式-策略模式
策略模式是Java设计模式中的一种行为模式,它允许在运行时改变对象的行为。在Java开发过程中,策略模式常被用来封装一系列算法,并使它们可以互相替换,从而使算法的变化独立于使用算法的客户。这种模式的核心在于...
Java设计模式、程序设计、反射、注解和泛型是Java开发中的核心概念,它们各自在不同的场景下发挥着重要作用,构建出高效、可维护的软件系统。 首先,Java设计模式是面向对象编程中的一种最佳实践,是解决常见问题的...
这篇名为"JAVA设计模式---100%推荐"的资源,可能是对Java设计模式的深入解析,旨在帮助开发者更好地理解和应用这些模式。 设计模式通常分为三类:创建型、结构型和行为型。创建型模式涉及对象的实例化过程,如单例...
综上所述,策略模式在Java编程中是一个非常实用的设计模式,通过将算法封装到独立的策略类中,可以有效地管理和切换不同的行为,从而提升代码的灵活性和可维护性。在压缩包文件"StrategyPatterns例子"中,你可以找到...
学习和理解设计模式是成为一名优秀的Java开发者的关键一步,它们提供了在特定场景下解决问题的通用框架,帮助我们写出更高质量、更易于维护的代码。在实际开发中,结合业务场景灵活运用这些模式,可以极大地提升软件...
Java设计模式中的工厂模式是一种创建型设计模式,它提供了一种创建对象的最佳方式。工厂模式的核心思想是将对象的创建过程封装起来,使得创建过程独立于使用过程,从而提高了代码的可扩展性和可维护性。在HeadFirst...
在这个“java设计模式-策略模式”的示例中,我们将深入探讨如何使用策略模式来实现一个简单的超市促销系统。 策略模式的核心思想是定义一系列的算法,并将每一个算法封装起来,使它们可以互相替换。这使得算法的...
Java设计模式是软件开发中的重要概念,它是一种在特定情境下解决问题的经验总结,可以提高代码的可读性、可维护性和可扩展性。本压缩包包含的源代码涵盖了多个经典的设计模式,接下来将对这些模式进行详细介绍。 1....
《Java与模式---闫宏》这本书是针对Java程序员深入理解设计模式的重要参考资料。设计模式是软件工程中的一个重要概念,它们代表了在特定上下文中解决常见问题的最佳实践。这本书结合了中国的道家思想,以一种独特的...
这个“JAVA设计模式-chm版”资源显然包含了关于Java设计模式的详细信息,便于理解和应用。设计模式是对常见问题的解决方案的标准化描述,它们在软件工程中起到了重要的作用,帮助开发者创建可维护、可扩展且易于理解...
学习Java设计模式不仅能提升编程技能,还能帮助开发者更好地理解和使用开源库。通过阅读《JAVA设计模式.chm》文档,你可以深入了解每个模式的用途、实现方式以及适用场景,逐步成为一名熟练的设计模式使用者。在实践...
Java 策略模式详解 策略模式是一种行为型设计模式,它允许您定义一系列算法,将每个算法封装起来,并使它们可以互换使用。这种模式使得算法可以独立于使用它们的客户端而变化。在 Java 中,策略模式通常由一个接口...
总结来说,Java设计模式中的策略模式是一种非常实用的设计模式,它允许我们在运行时选择和改变算法,提高了代码的可维护性和灵活性。通过观看厉风行老师的教程,你可以深入理解策略模式的原理,并将其运用到实际项目...
《Java设计模式》是刘伟教授的一本关于设计模式的教材,主要面向高等学校的学生和对Java编程有深入兴趣的开发者。设计模式是软件工程中的一种重要思想,它封装了在特定场景下的问题解决方案,可以提高代码的可读性、...