一,策略模式主要对其算法的包装,将每一个算法封装到具有共同接口的独立的类当中,使他们可以相互替换
策略模式运用非常广泛,在这里以(加,减,乘,除)算法为例,
接口:
package com.wqy.strategy;
public interface Oper {
public abstract double Oper(float f1,float f2);
}
减法操作
public class Substract extends Oper {
public double Oper(float f1,float f2) {
return (f1-f2);
}
}
除法操作
package com.wqy.strategy;
public class Division extends Oper {
public double Oper(float f1, float f2) {
return (f1/f2);
}
}
以下的加法与减法不一一列举...
封装类
package com.wqy.strategy;
public class Wrapper {
public Oper oper;
public Wrapper() {
}
public Wrapper(Oper oper) {
this.oper = oper;
}
public double oper(float f1, float f2) {
return oper.Oper(f1, f2);
}
}
测试类.
package com.wqy.strategy;
public class Client {
public static void main(String[] args) {
Wrapper wrapper1=new Wrapper(new Substract());
System.out.println(wrapper1.oper(30,40));
Wrapper wrapper2=new Wrapper(new Division());
System.out.println(wrapper2.oper(30,40));
}
}
以上是简单的算法封装,可以根据传入的对象不一样,而表现出不一样的行为,,在外加以封装之后,可以使该类算法运用非常灵活
使用:
- 大小: 35.2 KB
分享到:
相关推荐
策略模式提供了一种将算法族封装到各自独立的类中,并在运行时选择合适的算法来执行的方式。 策略模式的核心结构包含三部分:Context(上下文)、Strategy(策略)接口或抽象类以及ConcreteStrategy(具体策略)类...
本项目"微信小程序--使用策略模式进行表单验证strategy-master.zip"聚焦于如何通过策略模式来优化这一过程。策略模式是一种行为设计模式,允许我们在运行时选择算法或策略,使得代码更加灵活且易于扩展。 首先,...
【标题】"sprintboot-strategy-pattern-demo-master.zip" 是一个使用Spring Boot技术实现的策略模式示例项目,它提供了一种快速理解并应用策略模式的开箱即用的体验。 【描述】"基于springboot做了一个策略模式的...
在软件工程中,当一个系统需要在不同时间执行不同的算法,或者当系统需要通过算法的变化来改变对象的行为时,策略模式就显得非常有用。这个"strategy-demo.zip"文件很可能是包含了一个策略模式的示例代码或教程。 ...
在C++中,策略模式主要用于封装一系列算法,并让它们之间可以互相替换,使得算法的变化独立于使用算法的客户。这种模式通常涉及三个主要角色:策略接口、具体策略类以及上下文。 策略接口定义了一族相关或相互排斥...
策略模式定义了一系列算法,并将每个算法封装起来,使它们可以相互替换。策略对象改变了一个类的行为,策略类定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。 ### ...
### 策略模式 Strategy Pattern #### 概述 策略模式是一种行为设计模式,它使得算法可以在运行时被更改。这种模式允许一个类的行为或其算法在运行时根据需要进行改变,通过这种方式,我们可以轻松地扩展不同的算法...
策略模式提供了一种将算法封装到独立的对象中,使得它们可以互换使用的机制,从而避免了使用条件语句或硬编码来切换行为。 首先,策略模式的核心组成部分包括上下文(Context)、策略(Strategy)和具体策略 Concrete ...
策略模式可以定义一系列的算法,并将每一个算法封装起来,让它们之间可以互相替换,让算法的变化独立于使用算法的客户。 策略模式的主要优点在于: 1. **灵活性**:当需要改变一种行为或算法时,我们无需修改原有...
策略模式允许我们将这些算法封装成独立的类,每个类代表一种策略,然后在运行时动态选择要执行的策略。 策略模式的核心组成部分包括: 1. **策略接口(Strategy)**:定义了所有支持的算法或行为的公共接口。例如...
在C++中,策略模式通常通过定义一系列算法类并让它们之间可以互换来实现。这些算法类都实现了一个公共接口,使得它们可以被相同的客户端代码调用,而客户端无需知道具体使用的是哪个算法。这种设计模式鼓励了代码...
首先,策略模式由三个主要组成部分构成:上下文(Context)、策略(Strategy)接口和具体策略(Concrete Strategy)。上下文是使用策略的对象,它维护一个对策略的引用,并调用策略的接口来执行算法。策略接口定义了一组...
通过将算法封装到具有共同接口的独立对象中,策略模式使得你可以根据需要灵活地切换算法,或者在运行时添加新的算法。 在策略模式中,主要有三个关键角色: 1. **策略(Strategy)接口**:定义了所有支持的算法的...
通过策略模式,我们可以将算法族封装在独立的类中,使得它们可以互相替换,从而提高代码的灵活性和可维护性。 在Unity中,策略模式通常用于游戏逻辑、AI行为控制或者动画控制等场景。例如,我们可以为游戏角色定义...
策略模式(Strategy)是软件设计模式中的一种行为模式,它使你能在运行时改变对象的行为。在Java中,策略模式通常涉及定义一系列算法,并将每个算法封装起来,使得它们可以相互替换,同时使得算法的变化独立于使用它...
策略模式提供了一种将算法族封装到各自独立的类中,并在运行时选择具体算法的机制,从而避免了硬编码if...else或switch语句。 在策略模式中,策略类定义了一系列的算法,并让它们之间互相替换。这些策略类封装了...
在"Design Pattern - Strategy Design Pattern _ Model"这个主题中,可能包含了对策略模式的深入讲解和实例应用。文件"T23_设计模式_策略模式.ppt"可能是一个演示文稿,详细介绍了策略模式的原理、结构、优缺点以及...
【策略模式】是一种设计模式,它的核心思想是将不同的算法或行为封装成独立的类,这些类具有统一的接口,从而使客户端可以灵活地选择并使用其中的任何一种算法,而无需关心具体实现的细节。这种模式可以有效地避免...
在实际应用中,策略模式常用于需要多种算法或行为,并且需要在运行时根据条件或需求进行切换的场景。例如,在游戏中,玩家可能会有多种策略来决定何时出牌;在推荐系统中,可以根据用户的行为动态选择不同的推荐算法...
### 各种排序算法的策略模式实现 #### 引言 在现代软件开发过程中,算法的设计与优化一直是提升系统性能的关键。随着业务需求的变化和技术的进步,开发者不仅要关注算法的功能实现,还需要考虑其效率、可维护性和...