【Java设计模式】策略模式
2023-09-27 14:27:08 时间
1.背景知识
策略模式作为一种软件设计模式,指对象有某个行为,但是在不同的场景中,该行为有不同的实现算法。比如每个人都要“交个人所得税”,但是“在美国交个人所得税”和“在中国交个人所得税”就有不同的算税方法。策略模式将不同的算法封装起来,根据客户端的需求,调用不同的对象使用不同的算法,节省了大
(转载请注明出处:http://blog.csdn.net/buptgshengod)
1.背景知识
3.例子源代码
18 java设计模式---单例模式 1 什么是单例模式 单例(单个实例)模式:采用一定方法,保证在整个系统中对某个类只能存在一个实例对象,并且本类只提供一个提取对象的方法
傲海 著有《机器学习实践应用》,阿里云机器学习PAI产品经理,个人微信公众号 ldquo;凡人机器学习 rdquo;。
(转载请注明出处:http://blog.csdn.net/buptgshengod)
1.背景知识
策略模式作为一种软件设计模式,指对象有某个行为,但是在不同的场景中,该行为有不同的实现算法。比如每个人都要“交个人所得税”,但是“在美国交个人所得税”和“在中国交个人所得税”就有不同的算税方法。策略模式将不同的算法封装起来,根据客户端的需求,调用不同的对象使用不同的算法,节省了大量的if-else之类的代码量。
本例由三种算法组成,算法一是将数字乘以1,算法二是乘以2,算法三是乘以3。客户端调用第二种算法。 Calculate.java -三种算法的接口public interface Calculate { * 算法接口,返回具体的算法 public int calnumber(int number); }FirstCalculate.java-第一种算法,其余两种算法略
public class FirstCalculate implements Calculate { @Override public int calnumber(int number) { // TODO Auto-generated method stub System.out.println("算法一"); return number;Context.java-设定算法的使用环境
public class Context { Calculate cal; * 构造函数,设定使用的算法对象 public Context(Calculate cal){ this.cal=cal; * 将数据传入对应算法 public int SetNumber(int number){ return cal.calnumber(number); }Client.java-入口函数
public class Client { public static void main(String[] args) { Calculate cal=new SecondCalculate(); Context con=new Context(cal); int result=con.SetNumber(300); System.out.println(result);
3.例子源代码
18 java设计模式---单例模式 1 什么是单例模式 单例(单个实例)模式:采用一定方法,保证在整个系统中对某个类只能存在一个实例对象,并且本类只提供一个提取对象的方法
傲海 著有《机器学习实践应用》,阿里云机器学习PAI产品经理,个人微信公众号 ldquo;凡人机器学习 rdquo;。
相关文章
- 今儿直白的用盖房子为例,给你讲讲Java建造者模式
- java设计模式-观察者模式
- java设计模式--结构型模式--适配器模式
- java设计模式--创建模式--原型模式
- Java设计模式-策略模式(strategy)
- 《JAVA与模式》之命令模式
- [JAVA设计模式]第二部分:创建模式
- Java 设计模式之工厂模式
- 【Java 设计模式 · 创建型】单例模式(Singleton Pattern)
- Java设计模式(13)——结构型模式之桥梁模式(Bridge)
- Java设计模式之五大创建型模式(附实例和详解)
- JAVA 设计模式 中介者模式
- JAVA 设计模式 桥接模式
- JAVA设计模式之【组合模式】
- JAVA设计模式之【桥接模式】
- JAVA设计模式之【单例模式】
- java之设计模式工厂三兄弟之工厂方法模式
- JAVA设计模式实战---代理模式!!!
- 【java 多线程】并发设计模式-两阶段终止模式(对interrupt的理解)
- 【Java设计模式】装饰模式
- 【JAVA长虹键法】第 十二式 外观模式(23种设计模式)