策略模式
来源:互联网 发布:苹果笔记本mac游戏 编辑:程序博客网 时间:2024/06/05 01:05
对于一种问题有多种解法,我们不是使用的if else而是把这些解法抽出了一个公共的接口,使用不同的策略类来实现这个公共的接口,再将不同的策略类的引用传入到一个策略类的容器,这个容器对外提供一个统一的方法来给外界使用。
/** * 策略模式公共接口 * */public interface StrategyInterface {public void method();}
/** * 策略实现类1 */public class StrategyClass1 implements StrategyInterface {@Overridepublic void method() {System.out.println("StrategyClass1");}}
/** * 策略实现类2 */public class StrategyClass2 implements StrategyInterface {@Overridepublic void method() {System.out.println("StrategyClass2");}}
/** * 策略实现类3 * */public class StrategyClass3 implements StrategyInterface {@Overridepublic void method() {System.out.println("StrategyClass3");}}
/** * 策略类的包装类 * */public class Container {private StrategyInterface mStrategyInterface;public Container(StrategyInterface strategyInterface){mStrategyInterface = strategyInterface;}public void method(){mStrategyInterface.method();}}
/** * 策略模式的使用 * */public class Main {public static void main(String[] args){//使用策略1Container context1 = new Container(new StrategyClass1());context1.method();//使用策略2Container context2 = new Container(new StrategyClass2());context2.method();//使用策略3Container context3 = new Container(new StrategyClass3());context3.method();}}
0 0
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- *** glibc detected *** free(): invalid pointer: *** glibc detected *** malloc(): memory corruption:
- Spring整合hibernate4:事务管理
- Android 打造万能圆点指示器
- 第40讲项目7——找数字
- elgg安装
- 策略模式
- Spring+Struts2+Mybatis
- 大数据相关技术
- 利用check_mysql_health监控mysql数据
- 【剑指offer系列】 n个骰子的点数___43
- Javascript异步编程的4种方法
- [LintCode] 跳跃游戏II Jump Game II
- SqlServer发送邮件
- 判断ftp是否登录成功