Java设计模式应用——策略模式
对于相同类型相同类型的输入输出,在不同场景下需要使用不同的逻辑处理,则可以使用策略模式。
比如排序算法有堆排序,快速排序,冒泡排序,选择排序等。为了保证排序效率,需要在不同场景下选择不同排序算法,这时候就建议使用策略模式。具体的算法就是具体的策略。
下面以一个简单的例子阐述策略模式的使用:
package com.coshaho.learn.strategy; public interface ICalculator { public int calculate(String a, String b); } abstract class AbstractCaculator { public int transNumber(String s) { return Integer.parseInt(s); } } class Plus extends AbstractCaculator implements ICalculator { public int calculate(String a, String b) { return transNumber(a) + transNumber(b); } } class Minus extends AbstractCaculator implements ICalculator { public int calculate(String a, String b) { return transNumber(a) - transNumber(b); } }