【设计模式】简单工厂
简单工厂
简单工厂模式又叫静态工厂方法模式,由名字可见,有一个工厂,还有一个静态。主要抓住这两点。
首先工厂的意思就是,可以由工厂生产各种产品。所以我需要一个工厂类。
并且还需要各个产品类,并且该产品理应有共同的父类。使用多态的形式进行调用产品里的方法。
为什么需要共同父类?想想如果没有共同父类,我干嘛需要这个工厂!
我以实现一个计算器为例:
类图:
代码:
缺点:系统扩展困难,一旦添加新产品就不得不修改工厂逻辑,同样破坏了“开闭原则”;在产品类型较多时,有可能造成工厂逻辑过于复杂,不利于系统的扩展和维护。