2019年5月12日 星期日

大話設計模式 CHAP01 簡單工廠模式

大話設計模式


https://www.books.com.tw/products/0010430101
CHAP01 簡單工廠模式
心得:
當程式行為增加時,透過繼承並利用簡單工廠模式產生相對應的實作。
範例:
計算機的加、減、乘、除、開跟號、平方
package io.samchen;
public abstract class Operation {
    private double _numberA = 0;
    private double _numberB = 0;
    public double get_numberA() {
        return _numberA;
    }
    public void set_numberA(double _numberA) {
        this._numberA = _numberA;
    }
    public double get_numberB() {
        return _numberB;
    }
    public void set_numberB(double _numberB) {
        this._numberB = _numberB;
    }
    public abstract double GetResult();
}

package io.samchen;
public class OperationAdd extends Operation {
    @Override
    public double GetResult() {
        double result = 0;
        result = get_numberA() + get_numberB();
        return result;
    }
}

package io.samchen;
public class OperationFactory {
    public static Operation createOperate(String operate) {
        Operation oper = null;
        switch (operate) {
        case "+":
            oper = new OperationAdd();
            break;
        default:
            break;
        }
        return oper;
    }
}

package io.samchen;
public class OperationTest {
    public static void main(String[] args) {
        Operation oper;
        oper = OperationFactory.createOperate("+");
        oper.set_numberA(1);
        oper.set_numberB(2);
        double result = oper.GetResult();
        System.out.println(result);
    }
}