博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
策略模式
阅读量:6268 次
发布时间:2019-06-22

本文共 1483 字,大约阅读时间需要 4 分钟。

  hot3.png

策略模式:主要思想就是,为某一件事情,根据不同的原因,产生不同的结果。

事情抽象为接口  InterfaceOne ,

根据不同的原因,设计不同的接口实现  ClassOne  ClassTwo   ClassDefault

原因为传入的参数,或者是为调用某一个实现,而定义的一组标准代号  one  two   test。

 

代码如下:

 

package com.mkf.pattern;public interface InterfaceOne {	public void operation();}package com.mkf.pattern.impl;import com.mkf.pattern.InterfaceOne;public class ClassOne implements InterfaceOne {	@Override	public void operation() {		System.out.println("调用了 " + ClassOne.class.getName() + "  实现");	}}package com.mkf.pattern.impl;import com.mkf.pattern.InterfaceOne;public class ClassTwo implements InterfaceOne {	@Override	public void operation() {		System.out.println("调用了 " + ClassTwo.class.getName() + "  实现");	}}package com.mkf.pattern.impl;import com.mkf.pattern.InterfaceOne;public class ClassDefault implements InterfaceOne {	@Override	public void operation() {		System.out.println("调用了 " + ClassDefault.class.getName() + "  实现");	}}package com.mkf.pattern;import com.mkf.pattern.impl.ClassDefault;import com.mkf.pattern.impl.ClassOne;import com.mkf.pattern.impl.ClassTwo;public class TestStrategy {	/**	 * @param args	 */	public static void main(String[] args) {		startStrategy("one");		startStrategy("two");		startStrategy("test");			}		public static void startStrategy(String str){		InterfaceOne io = null;		if(str.equals("one")){			io = new ClassOne();		}else if(str.equals("two")){			io = new ClassTwo();		}else{			io = new ClassDefault();		}		io.operation();	}}

转载于:https://my.oschina.net/returnspace/blog/51229

你可能感兴趣的文章
利用css实现居中的方法
查看>>
Spring + Hibernate 框架
查看>>
添加浏览器的用户样式表
查看>>
LigerUI学习笔记之布局篇 layout
查看>>
LeetCode题解(二)
查看>>
Mybatis通用Mapper
查看>>
文件磁盘命令(就该这么学6章内容)
查看>>
2016-207-19 随笔
查看>>
java的double类型如何精确到一位小数?
查看>>
看看国外的javascript题目,你能全部做对吗?
查看>>
ffmpeg 如何选择具有相同AVCodecID的编解码器 (AVCodec)
查看>>
真正解决 Windows 中 Chromium “缺少 Google API 密钥” 的问题
查看>>
Spring 之 AOP
查看>>
软件项目管理|期末复习(二)
查看>>
直接调用VS.net2005中的配置界面
查看>>
程序员的自我修养五Windows PE/COFF
查看>>
关于字符集,编码格式,大小端的简单总结
查看>>
js string 转 int Number()
查看>>
课堂练习:ex 4-20
查看>>
20155328 2016-2017-2 《Java程序设计》 第8周学习总结
查看>>