Question 1 : troubleshooting:昨天面试官问我,你认为工厂模式的优点是什么?
Answer :我回答道,原来创建一个对象是自己new,而现在可以直接通过工厂将我需要的对象直接给我。
面试官又说,还有其他呢,有没有使用工厂模式写过计算器?没有,我答道。
回来之后,使用基于简单工厂模式和工厂方法模式分别写了一下简单的计算器实现。细细品味了工厂模式的好处。
就目前我所知好处如下:
1.原来创建一个对象是自己new,而现在可以直接通过工厂将我需要的对象直接给我。
2.使用工厂模式易于功能扩展,例如有个汽车生产工厂,原来有比亚迪产线、大众产线,现在要加一条凯迪拉克产线。只需返回汽车汽车类共有的(父类)凯迪拉克类的对象(此对象是多态对象),而不对其他产线造成影响。
3.遵循代码开闭原则
4.封装性,对外只保留基类(所有产线共有特征类),具体实现交由工厂帮我选择。