首页 > 代码库 > java深入浅出设计模式----简单的工厂模式(一)----业务逻辑分离
java深入浅出设计模式----简单的工厂模式(一)----业务逻辑分离
现在可扩展性和可维护性特别强,即便是想要计算多个数,那也很容易了,改动的地方很少。而且还能防止恶意的程序员篡改代码。
如果需要进行两个以上的数字的运算,在该接口中添加方法就行了。
package separatetwo.operate; public interface Operate { public abstract int getResult(int numberOne, int numberTwo); }
package separatetwo.operate; public class Add implements Operate { private Add() { }; private static Add addInstance = null; public static Add getAddInstance() { if (addInstance == null) { addInstance = new Add(); } return addInstance; } @Override public int getResult(int numberOne, int numberTwo) { return numberOne + numberTwo; } }减法
package separatetwo.operate; public class Sub implements Operate { private Sub() { }; private static Sub subInstance = null; public static Sub getSubInstance() { if (subInstance == null) { subInstance = new Sub(); } return subInstance; } @Override public int getResult(int numberOne, int numberTwo) { return numberOne - numberTwo; } }
乘法
package separatetwo.operate; public class Mul implements Operate { private Mul() { }; private static Mul mulInstance = null; public static Mul getMulInstance() { return mulInstance == null ? new Mul() : mulInstance; } @Override public int getResult(int numberOne, int numberTwo) { return numberOne * numberTwo; } }除法
package separatetwo.operate; public class Div implements Operate { private Div() { }; private static Div divInstance = null; public static Div getDivInstance() { return divInstance == null ? new Div() : divInstance; } @Override public int getResult(int numberOne, int numberTwo) { if(numberTwo != 0){ return numberOne / numberTwo; } return Integer.MIN_VALUE; } }
具体的用法:
package separatetwo; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import separatetwo.operate.Div; public class ShowData { public static void main(String[] args) throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); // 输入第一个数 System.out.println("请输入第一个数:"); String num1 = reader.readLine(); // 输入第二个数 System.out.println("请输入第二个数:"); String num2 = reader.readLine(); // 加法 // int result = Add.getAddInstance().getResult(Integer.valueOf(num1), Integer.valueOf(num2)); // System.out.print("计算结果是:"); // System.out.println(result); // 减法 // System.out.println(Sub.getSubInstance().getResult(Integer.valueOf(num1), Integer.valueOf(num2))); // 乘法 // System.out.println(Mul.getMulInstance().getResult(Integer.valueOf(num1), Integer.valueOf(num2))); // 除法 int result = Div.getDivInstance().getResult(Integer.valueOf(num1), Integer.valueOf(num2)); if(result == Integer.MIN_VALUE){ System.out.println("除数为0了"); } System.out.println(result); } }
源码下载:点我下载
java深入浅出设计模式----简单的工厂模式(一)----业务逻辑分离
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。