1、定义
工厂模式:定义一个用于创建对象的接口,让子类决定实例化哪个类
抽象工厂模式:为创建一组相关或相互依赖的对象提供一个接口,而且无需指定他们的具体类2、工厂方法与抽象工厂方法的区别
3、简单工厂方法、工厂方法以及抽象工厂方法的区别
这里以一个种菜的例子来说明: 刚开始,规模小,只种植一种根茎类蔬菜,所以采用简单工厂模式,在简单工厂模式下,考虑的是种植萝卜还是土豆随着种植厂的发展以及市场的需求,需要增加一种叶子类型的蔬菜进行种植,由于根茎类和叶子类的种植方式不同,需要两个专门的种植工厂来管理,这时候就采用工厂模式,一个工厂负责一种作物的种植,这个时候产品可以理解为仍然在一个层次。在工厂模式下,考虑的是种植根茎类蔬菜还是叶子类蔬菜
但是随着科技的发展,我们逐步要种植转基因与非转基因食品了,在以前的蔬菜种类上又增加了一个层次,这个时候无法将其作为一个层次来解决,所以必须采用抽象工厂的方式来解决。在抽象工厂模式下,考虑的是种植转基因蔬菜还是非转基因蔬菜
具体选用哪种工厂模式,需要仔细分析产品的层次等级结构
Demo下载地址:http://download.csdn.net/detail/s003603u/9577132