策略模式java 用例_java策略模式简单用例
运用java策略模式一个小程序
/**
*
*/
package Strategy;
import java.util.Arrays;
/**
* @author HuangRong
* @Funtion 定义策略
*/
public interface ComputablesStra {
public abstract void printForm();
}
/**
*
*/
package Strategy;
/**
* @author HuangRong
* @Function 为策略模式中的上下文角色,
* 提供printLetter()方法调用具体策略所重写的方法
*/
public class ControlPrint {
ComputablesStra stra;
public void setStrategy(ComputablesStra stra){
this.stra=stra;
}
public void printLetter(){
stra.printForm();
}
}
/**
*
*/
package Strategy;
import java.util.Arrays;
/**
* @author HuangRong
* @Funtion 按照大写,小写穿插的方式输出26个英文字母的实现,
* 为具体策略
*/
public class Form1 implements ComputablesStra {
@Override
public void printForm() {
// TODO Auto-generated method stub
//int m;
for(char i='a';i<='z';i++){
System.out.print(i+",");
System.out.print ((char)(i-32));
if((char)(i-32)!='Z'){
System.out.print(",");
}
}
System.out.println (";");
}
}
package Strategy;
/**
* @author HuangRong
* @Funtion 按照先大写全部输出,再小写全部输出的方式输出26个英文字母的实现,
* 为具体策略
*/
public class Form2 implements ComputablesStra {
@Override
public void printForm() {
// TODO Auto-generated method stub
char i;
for(i='A';i<='Z';i++){
System.out.print(i);
if(i!='Z'){
System.out.print(",");
}
}
System.out.print(";");
for(i='a';i<='z';i++){
System.out.print(i);
if(i!='z'){
System.out.print(",");
}
}
System.out.println(";");
}
}
/**
*
*/
package Strategy;
/**
* @author HuangRong
* @Function 策略模式的使用
*/
public class PrintMain {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//上下文对象
ControlPrint print=new ControlPrint();
//上下文对象使用策略一
print.setStrategy(new Form1());
System.out.println("按照大写,小写穿插的方式输出26个英文字母:");
print.printLetter();
//上下文对象使用策略二
print.setStrategy(new Form2());
System.out.println("按照先大写全部输出,再小写全部输出的方式输出26个英文字母:");
print.printLetter();
}
}
策略模式java 用例_java策略模式简单用例相关推荐
- 状态模式java 在线投票_Java 状态模式
在阎宏博士的<JAVA与模式>一书中开头是这样描述状态(State)模式的:状态模式,又称状态对象模式(Pattern of Objects for States),状态模式是对象的行为模 ...
- java heap 查看_JAVA HEAP查看简单办法
JAVA HEAP查看简单办法 最近在看JVM有关东西,发现一个简单和free的HEAP DUMP查看方式(基于SUN JDK) 先使用 jmap -dump:live,format=b,file=h ...
- java动态代理_Java代理模式及动态代理详解
Java的动态代理在实践中有着广泛的使用场景,比如最场景的Spring AOP.Java注解的获取.日志.用户鉴权等.本篇文章带大家了解一下代理模式.静态代理以及基于JDK原生动态代理. 代理模式 无 ...
- java 值对象_java 中设计模式(值对象)的实例详解
java 中设计模式(值对象)的实例详解 应用场景:在Java开发时,需要来回交换大量的数据,比如要为方法传入参数,也要获取方法的返回值,该如何能更好的进行数据的交互?这个时候就需要用到我们的值对象设 ...
- java state用法_Java状态模式(State模式)
State的定义:不同的状态,不同的行为:或者说,每个状态有着相应的行为. 何时使用状态模式State模式在实际使用中比较多,适合"状态的切换".因为我们经常会使用If elsei ...
- java atm模拟系统_Java RPC模式开发一个银行atm模拟系统
采用rpc模式开发一个银行atm模拟系统. 系统主要提供一个服务Card,该服务接口可以提供登录.查询.取钱.存钱等功能.服务接口的设计和实现自定义. Atm客户端功能需求: 1.ATM可以实现用户登 ...
- flyweight模式 java代码_享元模式(Flyweight)_java实现
//20210120 写在前面:刚期末考试完,考了面向对象,里边儿有23个设计模式,我寻思着考完挨个儿实现一下,本文实现适配者模式 核心思想 如果在一个类中频繁创建内容相同的对象,则会使内存占用很高, ...
- 工厂模式 java场景_研磨设计模式之简单工厂模式(场景问题)
简单工厂不是一个标准的设计模式,但是它实在是太常用了,简单而又神奇,所以还是需要好好掌握的,就当是对学习设计模式的热身运动吧.为了保持一致性,我们尽量按照学习其它模式的步骤来进行学习. 1 场景问题 ...
- java 性能 优化_Java十大简单性能优化
java 性能 优化 关于" web scale "这个流行词有很多炒作,人们花了很多时间来重新组织他们的应用程序体系结构,以使其系统"规模化". 但是什么是扩 ...
最新文章
- unigui中弹出对话框原窗体是没有了_最前线 | 微信对话框“搜一搜”功能上线,独辟蹊径的腾讯打着什么算盘?...
- 用 Python 实现抖音上的“人像动漫化”特效,原来这么简单!
- android 自定义键盘字体大小,android.inputmethodservice.KeyboardView 自定义键盘 字体大小设置...
- 软件项目开发之 软件过程RUP初探
- React17事件委托的变更
- Vue二次封装axios为插件使用
- 距离度量以及python实现(一)
- c语言中按字节运算,C语言中位运算的巧用
- 树莓派安装rtl8192eu无线网卡驱动
- 工业级串口Modbus数据绘制曲线及上位机监控软件DotTrend
- laya fgui 超简单的UI框架
- python微信抢红包脚本_这个Python脚本牛逼了,秒抢红包就算了,还能无视撤回消息...
- 【零基础学Python】Day10 Python解释器
- win7 手把手教你将win7背景色修改为浅绿保护色【包括资源管理器的背景】
- mac打不开磁盘映像资源忙
- MDK中编译报错 Error: L6218E: Undefined symbol SystemInit (referred from startup_cmsdk_cm0.o).
- oracle rap,部署RAP服务器
- git命令提交后push失败,缺少changeID的解决办法
- Kafka Rest : Confluent
- mysql 之 FLUSH TABLES