今天复习了策略模式,看到有个教程上谈到了个不错的例子,现笔记之,更多的可以参考<head first design pattern>>,
主要是一个四则运算计算器,输入数a,b,以及运算符号,之后完成四则运算。
我们首先建立一个抽象类
package org.jzkangta.strategy02;
//抽象的策略角色
public abstract class Operation {
public abstract void oper(float a,float b);
}
然后分别对加,减,乘,除继承之,实现其操作,比如加法
public class Add extends Operation{
public void oper(float a,float b){
float result=a+b;
System.out.println("相加的结果为-->"+result);
}
}
处理的运算类
public class Calc {
private Operation o;
public final static Operation add=new Add();
public final static Operation jian=new Jian();
public final static Operation cheng=new Cheng();
public final static Operation chu=new Chu();
public void oper(float a,float b){
o.oper(a, b);
}
}
具体的测试类
public class Test {
public static void main(String[] args) {
float a=100;
float b=25;
Calc c=new Calc();
c.add.oper(a, b);
}
}
分享到:
相关推荐
《HeadFirst设计模式学习笔记1--策略模式Demo》 在软件工程中,设计模式是一种解决常见问题的标准方案,它提供了一种在特定情况下组织代码的模板。策略模式是设计模式中的一种行为模式,它允许在运行时选择算法或...
行为型模式:模版方法模式、命令模式、访问者模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式(Interpreter模式)、状态模式、策略模式、职责链模式(责任链模式) 2) 学习目标:通过学习,学员...
设计模式是软件工程中的一种重要概念,它代表了在特定情境下解决问题的...设计模式笔记中的内容应该涵盖了以上所述的各种模式,通过深入学习和实践,你可以将这些模式应用到实际项目中,提升自己的编程技能和设计能力。
第一章主要讲解的是策略模式,这是一种行为设计模式,它使你能在运行时改变对象的行为。策略模式的核心思想是定义一系列算法,并将每个算法封装起来,使它们可以相互替换,让算法独立于使用它的客户。 策略模式的...
这里我们聚焦于C#语言中的设计模式学习笔记,涵盖了多种经典的设计模式,如合成模式、桥梁模式、装饰模式、享元模式、门面模式、命令模式、工厂方法、策略模式、代理模式以及状态模式。下面将对这些模式逐一进行详细...
在本文中,我们将重点关注策略模式以及它与三个核心设计原则的关系。策略模式是一种行为设计模式,它使你能在运行时选择算法或策略。这种模式允许我们在不改变对象结构的情况下,替换算法,增加了代码的灵活性和可...
14. **策略模式**:定义一系列算法,并将每个算法封装起来,使它们可以互相替换。让算法独立于使用它的客户。 15. **状态模式**:允许对象在内部状态改变时改变它的行为,对象看起来好像修改了它的类。 16. **职责...
行为型模式专注于类或对象间的交互和职责分配,如模板方法、命令、解释器、责任链、访问者、中介者、备忘录、观察者、状态和策略模式,它们定义了对象如何协作和执行任务。 状态机模式,也称为状态对象模式,是一种...
20. **策略模式**:定义了一系列的算法,并将每一个算法封装起来,使它们可以互相替换。策略对象改变算法的变化。 21. **模态模式**:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它...
读书笔记:关于鸭子的游戏反映出的设计模式问题应用策略模式解决问题
行为型模式则关注对象之间的交互,例如观察者模式(Observer)、策略模式(Strategy)和模板方法模式(Template Method)。 `PizzaIngredientFactory`是一个很好的工厂模式示例,它展示了如何利用工厂模式来创建...
设计模式Golang实现《研磨设计模式》读书笔记Go语言设计模式Go语言设计模式的实例代码创建模式工厂简单模式(Simple Factory)工厂方法模式(工厂方法)抽象工厂模式(Abstract Factory)创建者模式(Builder)原型...
在本学习笔记中,我们将重点关注“策略模式”。策略模式是一种行为设计模式,它使你能在运行时改变对象的行为。这种模式允许我们定义一系列算法,并将每一个算法封装起来,使得它们可以相互替换,同时让算法的变化...
设计模式通常分为三类:创建型模式(如工厂模式、单例模式、建造者模式)、结构型模式(如适配器模式、装饰器模式、代理模式)和行为型模式(如策略模式、观察者模式、迭代器模式)。每种模式都有其特定的应用场景...
- **策略模式**:定义了一系列算法,并将每一个算法封装起来,使它们可以相互替换。 - **装饰器模式**:动态地给一个对象添加一些额外的职责。就增加功能而言,装饰器模式相比生成子类更为灵活。 以上概述了面向...
这份由台湾作者编写的笔记,结合Java语言,为读者提供了一种深入理解并应用设计模式的方式。以下是对这些设计模式的详细解释: 1. **创建型模式(Creational Patterns)** 创建型模式关注于对象的创建过程,它们帮助...
行为型模式则关注对象之间的交互和责任分配,如策略模式、模板方法模式、观察者模式、访问者模式、命令模式、迭代器模式、职责链模式、解释器模式和备忘录模式等。 C++作为一种静态类型、编译式、面向对象的语言,...