优点:工厂类含有必要的逻辑来产生相应的对象,而客户类可以免除创建对象的责任,实现了责任的分离。
(例:现在的商品经济模式,生产棉麻制品都有相应的工厂来完成,而我们作为消费者不用关注是怎么生产的,所以分离了责任)
一、简单工厂模式又称为:静态工厂方法模式(只关心对象的生产,不在意对象的功能,违反高内聚的原则,可扩展性差),可以用于简单的情况。
三个角色:工厂角色,抽象产品角色(具体产品角色的抽象接口),具体的产品角色
变种:
1.可以有多个工厂方法分别负责不同的对象生产。
2.抽象产品角色省略(只有一种具体产品的情况)。
3.工厂产品角色合并至抽象产品角色。
4.抽象产品角色省略,工厂合并至具体产品。
二、工厂方法模式
又称为多态工厂模式
定义一个创建产品对象的工厂接口,将实际创建的工作交给具体的工厂,每个具体的工厂负责一类产品对象的生产。
三、抽象工厂
推荐:http://www.cnblogs.com/cbf4life/archive/2009/12/23/1630612.html