工厂方法模式

一、工厂方法模式的结构

工厂方法时简单工厂模式的进一步抽象和推广。由于使用了多态性,工厂方法保持了简单工厂的优点克服了它的缺点。
首先,在工厂方法模式中,核心的工厂类不在负责所有产品的创建,具体的创建工作交给子类完成。核心类作为一个抽象工厂,仅仅给出具体工厂类必须实现的接口。在实际的系统中,如果产品存在如下的等级层次结构:

基于上面的产品结构,出现了多于一个的抽象产品类,这是一种最真实的产品结构。把工厂方法模式应用到这种产品结构中,最常用的方式是模拟一种与上述产品结构相同的工厂等级结构。

然后相应的工厂角色负责创建相应的产品角色。
工厂方法模式和简单工厂模式在结构上是明显不同的,工厂模式的核心是一个抽象工厂类,而简单工厂模式的核心是一个具体的工厂类。
工厂方法模式的系统中包含以下角色:
  1. 抽象工厂(Creator)
  2. 具体工厂(Concrete Creator)
  3. 抽象产品(Product)
  4. 具体产品(Concrete Product)












posted @ 2017-04-21 19:41  xpeng_V  阅读(126)  评论(0编辑  收藏  举报