设计模式---工厂方法模式

一、

1.抽象工厂(Creator)角色 工厂方法模式的核心,任何工厂类都必须实现这个接口。


public interface FruitFactory {
   public Fruit getFruit();
}

2.具体工厂( Concrete  Creator)角色 具体工厂类是抽象工厂的一个实现,负责实例化产品对象。

public class AppleFactory implements FruitFactory {

   public Fruit getFruit() {
      return new Apple();
   }

}

3.抽象角色(Product) 工厂方法模式所创建的所有对象的父类,它负责描述所有实例所共有的公共接口。

public interface Fruit {
	/*
	 * 采集
	 */
	public void get();
}

4.具体产品(Concrete Product)角色 工厂方法模式所创建的具体实例对象

public class Apple implements Fruit{
	/*
	 * 采集
	 */
	public void get(){
		System.out.println("采集苹果");
	}
}

二、比较

工厂方法模式与简单工厂模式的比较:

当系统扩展需要添加新的产品对象时,仅仅需要添加一个具体对 象以及一个具体工厂对象,原有工厂对象不需要进行任何修改,也 不需要修改客户端,很好的符合了“开放-封闭”原则。而简单工厂 模式在添加新产品对象后不得不修改工厂方法,扩展性不好

三、简单应用

猜你喜欢

转载自blog.csdn.net/qq_24271537/article/details/81637218
今日推荐