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);
    }
}

 

posted @ 2017-08-08 23:24  coshaho  阅读(900)  评论(0编辑  收藏  举报