(01) Dahua Design Pattern - Simple Factory - Java Implementation

1. Operation interface

public interface Operation {
	public double getResult(double NumberA , double NumberB);
}

2. Addition, subtraction, multiplication and division

public class OperationAdd implements Operation {

	@Override
	public double getResult(double NumberA, double NumberB) {
		return NumberA + NumberB;  
		
	}

}
public class OperationSub implements Operation {

@Override
public double getResult(double NumberA, double NumberB) {
return NumberA - NumberB;
}

}
public class OperationMul implements Operation {

	@Override
	public double getResult(double NumberA, double NumberB) {
		return NumberA * NumberB;  
	}

}
public class OperationDiv implements Operation {

	@Override
	public double getResult(double NumberA, double NumberB) {
		if(NumberB==0)
		try {
			throw new Exception("Divisor cannot be 0");
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace ();
		}
		return NumberA / NumberB;  
	}

}

3. Simple operation factory class

public class OperationFactory {
	public static Operation createOperate(String operate){
		Operation oper = null;
		switch(operate)
		{
		case "+":
		oper = new OperationAdd();
		break;
		case "-":
		oper = new OperationSub();
		break;
		case "*":
		oper = new OperationMul();
		break;
		case "/":
		oper = new OperationDiv();
		break;
		}
		return oper;
	}

}

4. Test class

public class test {
	public static void main(String[] args){
		Operation oper;
		oper = OperationFactory.createOperate("+");	
		System.out.println(oper.getResult(1, 2));
	}
}

  

 

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=324931455&siteId=291194637