工厂设计模式:
1.简单工厂:也叫静态工厂,是工厂模式三种状态中结构最为简单的。主要有一个静态方法,用来接受参数,并根据参数来决定返回实现同一接口的不同类的实例。
假设一家工厂,生产洗衣机,有生产冰箱,还有空调等等
先为所有产品定义一个共同的产品接口
public interface Product{}
接着我们让这个工厂的所有产品都必须实现此接口
接下来我们写一个工厂类,有他来负责生产以上的产品
有了工厂类,我们就可以开始下订单了,SimpleFactory将根据不同的订单类决定生产什么产品
简单工厂并不简单,他是整个模式的核心,一旦他出了问题,整个模式都将受影响而不能工作,为了降低风险和为日后的维护和扩展,我们需要对他进行重构,引入工厂方法
2.工厂方法:工厂方法和简单工厂的主要区别是,简单工厂是把创建产品的职能都放在一个类里面,而工厂方法则把不同的产品放在实现了工厂接口的不同工厂类里面,这样就算其中一个工厂类出了问题,其他工厂类也能正常工作,互相不受影响,以后增加新产品,也只需要新增一个实现工厂接口工厂类,就能达到,不用修改已有的代码
3.抽象工厂:应用抽象工厂之前,要先对创建的对象进行系统的分类
详细解释地址:http://www.cnblogs.com/zhouqiang/archive/2012/07/20/2601365.html
1.简单工厂:也叫静态工厂,是工厂模式三种状态中结构最为简单的。主要有一个静态方法,用来接受参数,并根据参数来决定返回实现同一接口的不同类的实例。
假设一家工厂,生产洗衣机,有生产冰箱,还有空调等等
先为所有产品定义一个共同的产品接口
public interface Product{}
接着我们让这个工厂的所有产品都必须实现此接口
接下来我们写一个工厂类,有他来负责生产以上的产品
有了工厂类,我们就可以开始下订单了,SimpleFactory将根据不同的订单类决定生产什么产品
简单工厂并不简单,他是整个模式的核心,一旦他出了问题,整个模式都将受影响而不能工作,为了降低风险和为日后的维护和扩展,我们需要对他进行重构,引入工厂方法
2.工厂方法:工厂方法和简单工厂的主要区别是,简单工厂是把创建产品的职能都放在一个类里面,而工厂方法则把不同的产品放在实现了工厂接口的不同工厂类里面,这样就算其中一个工厂类出了问题,其他工厂类也能正常工作,互相不受影响,以后增加新产品,也只需要新增一个实现工厂接口工厂类,就能达到,不用修改已有的代码
3.抽象工厂:应用抽象工厂之前,要先对创建的对象进行系统的分类
详细解释地址:http://www.cnblogs.com/zhouqiang/archive/2012/07/20/2601365.html