面向对象语言的三大特点就是:继承、封装、多态。
采用工厂模式的好处就是让对象的实例化与对象类分离,而且不同对象的类(问题逻辑处理部分)也是分离独立的,这样在单独修改某单独类时,就不会把所有的类都暴露在程序员面前,而且也不会影响其他代码,同时工厂类是可以无需改变的。
在客户端,客户只需要输入对应的操作,然后调用工厂方法,就可以产生相应的类来处理问题,调用类中的逻辑方法最终可以返回结果。
继承、封装的体现:例如我现在设计个计算器,我有一个父类,在它的逻辑快方法并不做任何事情,对于加法运算,就继承这个父类,然后override父类中逻辑快方法,这样就可以实现加法类,同样也实现了封装这一特性。
多态的体现:在客户端,只需新建一个父类的对象,然后把工厂模式根据输入所需的运算法则返回实例化的对象赋值给父类的对象,这样我们在客户端并不需要判断该新建哪种运算类的对象。