`
darezhong
  • 浏览: 9304 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
社区版块
存档分类
最新评论

设计模式学习之策略模式

阅读更多

1.名词解释:

策略模式:它定义了算法家族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化,不会影响到使用算法的用户。在不同的时间或条件应用不同的业务规则时,可以考虑使用策略模式;

 

2.代码示例:

策略抽象类
package DesignPattern.StrategyPattern;

public abstract class Strategy {

	public abstract void Execute();
}

 

具体策略类A
package DesignPattern.StrategyPattern;

public class ConcreateStrategyA extends Strategy{

	@Override
	public void Execute() {
		//代码逻辑
		System.out.println("ConcreateStrategyA.execute is process...");
	}

}

 

具体策略类B
package DesignPattern.StrategyPattern;

public class ConcreateStrategyB extends Strategy{

	@Override
	public void Execute() {
		// TODO Auto-generated method stub
		System.out.println("ConcreateStratetyB.execute is process...");
	}

}

 

package DesignPattern.StrategyPattern;

public class Context {

	private Strategy strategy = null;
	
	public Context(Strategy strategy) {
		this.strategy = strategy;
	}
	
	public void ContextInterface() {
		strategy.Execute();
	}
}

 

主控程序类:
package DesignPattern.StrategyPattern;

public class Client {

	public static void main(String[] args) {
		Strategy a = new ConcreateStrategyA();	
		Strategy b = new ConcreateStrategyB();
		Context c1 = new Context(a);
		Context c2 = new Context(b);
		c1.ContextInterface(); 
		c2.ContextInterface();
	}
   
}

 

分享到:
评论

相关推荐

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

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

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

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

    Java 经典设计模式讲解以及项目实战

    3 策略模式 4 模板方法模式 5 工厂方法模式 6 抽象工厂模式 7 建造者模式 8 代理模式 9 装饰模式 10 原型模式 11 委派模式 12 适配器模式 设计模式综合运用 1 门面+模版方法+责任链+策略 2 门面+模版方法+责任链+...

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

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

    设计模式之策略模式源码

    在给定的"设计模式之策略模式源码"工程中,我们可以看到通过一个简单的收银系统来展示策略模式的应用。收银系统是一个常见的业务场景,其中可能涉及多种结算策略,如折扣、满减、会员优惠等。通过策略模式,我们可以...

    设计模式之美—学习笔记

    在这个“设计模式之美”的学习笔记中,我们将探讨一些主要的设计模式,以及它们在实际开发中的应用。 首先,我们从创建型模式开始。这类模式主要用于对象的创建,如单例模式(Singleton)、工厂模式(Factory ...

    HeadFirst 设计模式学习笔记1--策略模式Demo

    《HeadFirst设计模式学习笔记1--策略模式Demo》 在软件工程中,设计模式是一种解决常见问题的标准方案,它提供了一种在特定情况下组织代码的模板。策略模式是设计模式中的一种行为模式,它允许在运行时选择算法或...

    Java 设计模式 策略模式

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

    设计模式之蝉

    在计算机科学领域,设计模式是软件工程中用于解决特定问题的一般性方案,它们是经过实践检验的最佳实践。这些模式被广泛应用于面向对象软件...设计模式的学习与应用是软件工程专业人员不断成长和进步的重要途径之一。

    java设计模式学习之策略模式

    策略模式是一种行为设计模式,它使你能在运行时改变对象的行为。在Java中,策略模式通常用于封装一系列的算法或行为,使得它们可以互换,而不会影响到使用这些算法的客户端代码。这种方式有助于减少代码的复杂性,...

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

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

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

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

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

    在实际开发中,理解和应用设计模式通常需要结合具体的源码进行学习。在提供的链接中,可能包含了作者对这两种模式的实践案例或者详细解释。源码分析可以帮助我们更好地理解如何在实际项目中运用这些模式。 同时,...

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

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

    设计模式学习 ppt

    这个“设计模式学习ppt”资料包显然是一份面向初学者或大学生的教学资源,通过十四个PPT文件深入浅出地讲解了设计模式的各个方面。 首先,我们来看设计模式的基本概念。设计模式是对在特定上下文中反复出现的问题...

    设计模式之美——教你写出高质量代码

    "设计模式之美——教你写出高质量代码"这个主题旨在帮助开发者更好地理解和应用设计模式,从而提升代码的质量和可维护性。设计模式不仅对面试有所帮助,也是职场发展中的必备技能,无论你使用哪种开发语言。 设计...

    24种设计模式以及混合设计模式

    通过学习和应用这些设计模式,开发者不仅可以提高代码的可读性、可维护性和可扩展性,还能提升团队间的沟通效率,因为设计模式是软件工程中的通用语言。对于任何有志于提升软件开发水平的人来说,理解和掌握设计模式...

    设计模式学习笔记总结

    这里我们聚焦于C#语言中的设计模式学习笔记,涵盖了多种经典的设计模式,如合成模式、桥梁模式、装饰模式、享元模式、门面模式、命令模式、工厂方法、策略模式、代理模式以及状态模式。下面将对这些模式逐一进行详细...

    设计模式之策略模式源码(c#实现)

    策略模式是一种行为设计模式,它使你能在运行时改变对象的行为。在策略模式中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为模式。...这将是一个很好的学习资源,帮助你深入理解和应用策略模式。

Global site tag (gtag.js) - Google Analytics