一、简单工厂模式
简单工厂模式属于创造模式,是一种工厂模式。简单工厂模式是一个工厂对象,它确定要创建哪个产品类实例。简单工厂模式是工厂模式家族中最简单、最实用的模式
简单工厂模式:定义用于创建对象的类,该类封装实例化对象的行为(代码)
在软件开发中,当我们将使用大量数据来创建一个、一个类或一批对象时,我们将使用工厂模式。
让我们举一个点面包的例子。该计划需要具有可扩展性
1) 有很多种面包
2) 准备、烘烤、包装
3) 完成面包订购功能
二、传统方法
想法:
要使用的类、面包的抽象类、butterbread的具体实现类、toast、orderbread的ordering类
具体实现是在orderbread中完成不同种类面包的订购
还存在的问题:
您可以在图中看到两条红线,主要的变化是在orderbread中添加一个类并修改if分支的代码
在前一个案例中,问题似乎不是很大。这意味着两个部分已被修改。如果我们的商店扩大,必须添加新的订购类,该怎么办?它将成为以下内容
此时,如果我们要添加一种面包,我们需要同时更改orderbread1和orderbread2,需要更改的位置将直接加倍。
可以看出,这种方法不利于随着类的增加而扩展和维护。类越多,添加扩展所需的更改就越多。如果你粗心,你可能会错过和犯错误。
添加一个simplefactory类,将面包的订购过程转移到该类的内部,并让其他订单类依赖simplefactory类,以便各种订单类与面包之间没有依赖关系。其他order类则依赖于simplefactory类。
当我们尝试添加新的订单和面包类型时,我们只需要在simplefactory中添加面包类型,而不修改所有订单类。