1. 程式人生 > >淺談Java設計模式——簡單工廠模式

淺談Java設計模式——簡單工廠模式

一、定義

        通過專門定義一個類來負責建立其他類的例項,被建立的例項通常都具有共同的父類。

二、類圖

三、理解

        Operation為抽象類,它定義了一個抽象方法getResult;OperationAdd和OperationSubtraction兩個類為Operation的子類,實現了它的getResult方法,OperationAdd為加法類,OperationSubtraction為減法類。

四、程式碼實現

Operation抽象類

/**
 * 運算超類
 */
public abstract class Operation {
    public abstract double getResult(double t1, double t2);
}

OperationAdd類

/**
 * 加法操作
 */
public class OperationAdd extends Operation {
    @Override
    public double getResult(double t1, double t2) {
        return t1 + t2;
    }
}

OperationSubtraction類

/**
 * 減法操作
 */
public class OperationSubtraction extends Operation {
    @Override
    public double getResult(double t1, double t2) {
        return t1 - t2;
    }
}

OperationFactory類

/**
 * 簡單工廠實現
 */
public class OperationFactory {
    public static Operation createOperate(String operate) throws Exception {
        Operation oper = null;

        switch (operate) {
            case "+":
                oper = new OperationAdd();
                break;
            case "-":
                oper = new OperationSubtraction();
                break;
            default:
                throw new Exception("no search operate!");
        }

        return oper;
    }
}