最美的时光|java编程设计模式4——简单工厂模式
定义定义一个工厂类 , 它可以根据参数的不同返回不同类的实例 , 被创建的实例通常都具有共同的父类 。
在简单工厂模式中用于被创建实例的方法通常为静态(static)方法,因此简单工厂模式又被称为静态工厂方法(Static Factory Method) 。
需要什么 , 只需要传入一个正确的参数 , 就可以获取所需要的对象 , 而无需知道其实现过程 。
问题【最美的时光|java编程设计模式4——简单工厂模式】我们需要设计一个披萨店的程序 , 根据消费者的需要提供披萨 , 提供的披萨种类有clampizza , veggiepizza等等 。 我们该如何设计这样的程序呢 。
解答一:
我们看到我们一共构建了三个种类的披萨 , 然后根据消费者的要求进行了创建 , 烘焙 , 切割 , 装盒 。
但是我们发现我们的代码有重复!!!
设计模式的作用之一就是用来最大程度的消灭重复 。 于是我们想到了封装 。
解答2我们创建了一个PizzaStore的类 , 用来制作披萨 , 烘焙 , 切割 , 装盒 。
另外我们为了封装不同披萨的变化 , 为披萨构建了一个父类 。 这样使烘焙切割和装盒的代码变得统一而固定 。
看 , 我们的消费者在demo中省事多了 。
当然我们还有更好的办法 , 是将PizzaStore中的orderPizza方法设为静态方法 。 我们就能在demo中直接使用了 。 虽然我没起名factory , 但这其实就是简单工厂模式 , 或称为静态工厂模式 。 PizzaStore就是我们的工厂 。
推荐阅读
- 彩云时尚编发|首尔时装周街拍合辑,这些韩风简约大气又有高级感,美的温柔甜美
- 德业股份|德业股份营收由美的力挺 毛利率提升的空间有多大
- ZAKER生活 让“欧巴”满足你对美的幻想,第十代索纳塔
- 股份|德业股份营收由美的力挺 毛利率提升的空间有多大
- 怀旧服|魔兽世界:怀旧服深防战,虽是最完美的种族,却要准备多套装备
- |【图解】人口普查,一次跨越67年时光的旅行
- 引领先锋|Java工程师福利!1分钟学会使用Aspose.PDF将PDF转换为PPT / PPTX
- 让时光有力量吧|2020年湖北各地市主要高铁、普铁站点规模一览
- |人口普查,一次跨越67年时光的旅行~
- 中国青年网|人口普查,一次跨越67年时光的旅行
