Java实现策略模式的简单应用
2014-02-21 00:05
441 查看
在使用图像处理软件处理图片后,需要选择一种格式进行保存。然而各种格式在底层实现的算法并不相同,这刚好适合策略模式。编写程序,演示如何使用策略模式与简单工厂模式组合进行开发。
思路如下:
使用interface来定义一个接口,在该接口中定义save()方法;
根据图片格式定义不同的类,分别在这些类中使用关键字implements实现接口;
创建一个实现选择的类,在该类中定义实现选择的方法,该方法返回值为对应的图片保存类;
在主方法中实现接口。
代码如下:
效果如图:
思路如下:
使用interface来定义一个接口,在该接口中定义save()方法;
根据图片格式定义不同的类,分别在这些类中使用关键字implements实现接口;
创建一个实现选择的类,在该类中定义实现选择的方法,该方法返回值为对应的图片保存类;
在主方法中实现接口。
代码如下:
public interface ImageSaver { void save();//定义save()方法 } public class GIFSaver implements ImageSaver { @Override public void save() {//实现save()方法 System.out.println("将图片保存成GIF格式"); } } public class JPEGSaver implements ImageSaver { @Override public void save() { System.out.println("将图片保存成JPG格式"); } } public class PNGSaver implements ImageSaver { @Override public void save() { System.out.println("将图片保存成PNG格式"); } } public class TypeChooser { public static ImageSaver getSaver(String type) { if (type.equalsIgnoreCase("GIF")) {//使用if else语句来判断图片的类型 return new GIFSaver(); } else if (type.equalsIgnoreCase("JPEG")) { return new JPEGSaver(); } else if (type.equalsIgnoreCase("PNG")) { return new PNGSaver(); } else { return null; } } } public class User { public static void main(String[] args) { System.out.print("用户选择了GIF格式:"); ImageSaver saver = TypeChooser.getSaver("GIF");//获得保存图片为GIF类型的对象 saver.save(); System.out.print("用户选择了JPEG格式:");//获得保存图片为JPEG类型的对象 saver = TypeChooser.getSaver("JPEG"); saver.save(); System.out.print("用户选择了PNG格式:");//获得保存图片为PNG类型的对象 saver = TypeChooser.getSaver("PNG"); saver.save(); } }
效果如图:
相关文章推荐
- Java策略模式的简单应用实现方法
- 设计模式-简单工厂设计模式与策略模式之java实现
- 有趣的Java - 简单使用enum实现策略模式Strategy
- 设计模式-简单工厂设计模式与策略模式之java实现二
- Java Calendar类简单应用:实现可视化日历
- java实现策略模式
- SqlHelper简单实现(通过Expression和反射)6.Providor模式(工厂+策略)可配置数据库选择
- StrategyPattern--策略模式java实现
- java实现简单工厂模式
- 《大话设计模式》读书笔记:策略模式+反射的Java实现
- 策略模式和简单工厂及反射的联合应用(待续)
- 【设计模式】Java服务开发应用策略模式的一个例子
- 设计模式学习笔记一 简单工厂策略模式实现销售策略的变更(一)
- Java设计模式——Comparable接口&&Comparator(CC系)策略模式的应用[续]
- Java实现简单的站点请求模式
- WebSphere MQ Java 应用开发简单实例(上篇:客户端模式开发)(client mode和binding mode)
- Java 语言使用 Observer/Observable 实现简单的观察者模式
- Java设计模式之工厂模式的简单实现
- java接口应用—策略设计模式
- java笔记--策略模式和简单工厂模式