策略+簡單工廠模式

策略模式的使用情景

最近在做一個比賽,由于算法肯定有多種,但是還沒有確定具體有哪些策略,所以不知道還要寫什么東西,所以采用了策略+簡單工廠的設(shè)計模式。策略模式可以處理在不同時間應(yīng)用不同的業(yè)務(wù)規(guī)則的這種變化性。

類圖

算法的簡略類圖

實現(xiàn)

interface  Algorithm{

    int getAction(int index);

}

class AlgorithmAImpl implements Algorithm{

    @Override
    public int getAction(int index) {
        return index+1;
    }

}

class AlgorithmBImpl implements Algorithm{

    @Override
    public int getAction(int index) {

        return index+2;
    }

}

class AlgorithmManager{
    Algorithm mAlgorithm;
    int type;
    int getRes(int type){
        this.type = type;
        switch (type){
        case 0:
            mAlgorithm = new AlgorithmAImpl();
            break;
        case 1:
            mAlgorithm = new AlgorithmBImpl();
            break;
        default:
            break;
        }
        return getAction(type);
    }

    private int getAction(int index){
        return mAlgorithm.getAction(index);
    }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容