一开始了解了"简单工厂模式"之后,在关于为什么不直接实例对象,而是利用工厂类来实例对象产生了疑惑。
经过多种渠道的了解,我最后的观点是:这个工厂类不仅仅就只能有实例化对象这一个功能。举例来说,如果我要在实例化这个对象之前先读取某些配置,做各种各样的预备工作呢?比如下面的代码:
客户端类:
public class ConsoleUser { public static void main(String[] args) { //新建运算类 Operation operation; //各种乱七八糟的操作 System.out.println("新建对象a"); System.out.println("新建对象b"); System.out.println("读取配置1"); System.out.println("给对象a赋值"); System.out.println("读取配置2"); System.out.println("给对象b赋值"); //创建加法类实例对象,并赋值给运算类 operation = new OperationPlus(); operation.num1 = 5; operation.num2 = 2; //打印返回的计算结果 System.out.println(operation.getResult()); } }