简单工厂模式:原先实例化对象是在代码逻辑中实现中,现在用一个单独的类来做这个创造实例的过程,这就是工厂。
好处:
例子:
要求用java实现计算器控制台输入两个数字和运算符号,得到结果。
初学者碰到问题直觉的做法就是用计算机能够理解的逻辑来描述和表达待解决的问题,这其实是用计算机的方式去思考。
但是这样做程序不容易维护,也不容易扩展,也不容易复用。毕竟复制和复用是不一样的,所以最好的做法是用面向对象的方法去实现。
面向对象:
面向对象的三个基本特征是:封装,继承,多态。
封装(业务封装):业务与界面分隔开,他们的之间的耦合度下降,分离开后,更易维度,才可以达到容易维护和扩展。
对业务进行了封装,不仅windows,手机,web版程序等都可以使用。
继承:加减乘除类继承Operation类,Operation类有两个number AB和getResult方法,加减乘除类继承Operation类,实现代码的复用,而且这样每个子类继承了Operation,重写了GetResult方法,这样,如果要修改运算的逻辑,就不用提供了其他方法,而且在客户端调用的时候,运算逻辑对调用者是透明。
多态:在工厂类中,方法接收操作运算符,实例化合适的对象,通过多态,返回父类,客户端接收到对象,实现代码的复用,也达到了解耦的效果。