最美的时光|java编程设计模式4——简单工厂模式

定义定义一个工厂类 , 它可以根据参数的不同返回不同类的实例 , 被创建的实例通常都具有共同的父类 。
在简单工厂模式中用于被创建实例的方法通常为静态(static)方法,因此简单工厂模式又被称为静态工厂方法(Static Factory Method) 。
需要什么 , 只需要传入一个正确的参数 , 就可以获取所需要的对象 , 而无需知道其实现过程 。
最美的时光|java编程设计模式4——简单工厂模式
问题【最美的时光|java编程设计模式4——简单工厂模式】我们需要设计一个披萨店的程序 , 根据消费者的需要提供披萨 , 提供的披萨种类有clampizza , veggiepizza等等 。 我们该如何设计这样的程序呢 。
最美的时光|java编程设计模式4——简单工厂模式解答一:
最美的时光|java编程设计模式4——简单工厂模式
最美的时光|java编程设计模式4——简单工厂模式
最美的时光|java编程设计模式4——简单工厂模式
最美的时光|java编程设计模式4——简单工厂模式我们看到我们一共构建了三个种类的披萨 , 然后根据消费者的要求进行了创建 , 烘焙 , 切割 , 装盒 。
但是我们发现我们的代码有重复!!!
设计模式的作用之一就是用来最大程度的消灭重复 。 于是我们想到了封装 。
解答2我们创建了一个PizzaStore的类 , 用来制作披萨 , 烘焙 , 切割 , 装盒 。
另外我们为了封装不同披萨的变化 , 为披萨构建了一个父类 。 这样使烘焙切割和装盒的代码变得统一而固定 。
最美的时光|java编程设计模式4——简单工厂模式
最美的时光|java编程设计模式4——简单工厂模式
最美的时光|java编程设计模式4——简单工厂模式看 , 我们的消费者在demo中省事多了 。
当然我们还有更好的办法 , 是将PizzaStore中的orderPizza方法设为静态方法 。 我们就能在demo中直接使用了 。 虽然我没起名factory , 但这其实就是简单工厂模式 , 或称为静态工厂模式 。 PizzaStore就是我们的工厂 。


    推荐阅读