策略模式
时间:2019-12-12
本文章向大家介绍策略模式,主要包括策略模式使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
1. 策略模式(Strategy Pattern)
给一个对象(context )以不同的策略(Strategy ),该对象就会执行不同的策略算法,这里需要三个对象
- 策略算法接口
- 每个算法的具体实现
- Context 对象
2. 流程
2.1 策略算法接口
public interface Strategy {
abstract void travel();
}
2.2 策略算法的具体实现
- 坐飞机
public class aircraft implements Strategy {
public void travel() {
System.out.println("坐飞机");
}
}
- 坐火车
public class train implements Strategy {
public void travel() {
System.out.println("坐火车");
}
}
2.3 上下文对象
public class Context {
private Strategy st;
public Context(Strategy st) {
this.st = st;
}
public void Setout(){
System.out.println("Coneext去旅游——————策略算法为:");
st.travel();
}
}
2.4 实现
public static void main(String[] args) {
Context c1 = new Context(new aircraft());
c1.Setout();
System.out.println("------------------------------");
Context c2 = new Context(new train());
c2.Setout();
}
Coneext去旅游——————策略算法为:
坐飞机
------------------------------
Coneext去旅游——————策略算法为:
坐火车
说到底策略模式和装饰者模式还是有很大的相似性,都是通过包装来实现----装饰者模式
原文地址:https://www.cnblogs.com/Howlet/p/12027704.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 宋宝华:论Linux的页迁移(Page Migration)完整版
- 三、玩转Git三剑客-Git与Github的简单同步
- 四、玩转Git三剑客-Git多人单分支集成协作时的常见场景
- 准时下班的秘密:集成 GitLab && JIRA 实现自动化 workflow
- ZLT-MP v4.1.0 发布
- 高并发系统三大利器之限流
- XtraBackup工具详解 Part 2 xtrabackup安装
- XtraBackup工具详解 Part 4 XtraBackup权限及配置
- XtraBackup工具详解 Part 5 使用innobackupex对数据库进行全备
- XtraBackup工具详解 Part 6 使用innobackupex对全备进行恢复
- [修正]XtraBackup工具详解 Part 6 使用innobackupex对全备进行恢复
- XtraBackup工具详解 Part 7 使用innobackupex对数据库进行增量备份
- XtraBackup工具详解 Part 8 使用innobackupex对增量备份进行恢复
- MySQL复制全解析 Part 2 一步步搭建基于二进制文件位置的MySQL复制
- MySQL复制全解析 Part 3 MySQL半同步复制设置