欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

设计模式(二)工厂方法 / 实例工厂

程序员文章站 2024-01-05 11:23:58
...

抽象产品类:

public abstract class BMW {		
}

具体产品类:

public class BMW320 extends BMW{
	public BMW320() {
		System.out.println("制造-->BMW320");
	}
}
public class BMW523 extends BMW {
	public BMW523() {
		System.out.println("制造-->BMW523");
	}
}

抽象工厂类:

public interface Factory {
	public BMW createBMW() ;
}

具体工厂类:

public class BMW320Factory implements Factory{
	@Override
	public BMW createBMW() {
		return new BMW320();
	}
}
public class BMW523Factory implements Factory{
	@Override
	public BMW createBMW() {
		return new BMW523();
	}
}

消费者:

public class Customer {
	public static void main(String[] args) {
		BMW bmw320 = new BMW320Factory().createBMW();
		BMW bmw523 = new BMW523Factory().createBMW();
		
		System.out.println(bmw320);
		System.out.println(bmw523);
	}
}

此场景的成员: 

         1) 抽象产品类:抽象类或者接口。         

         2) 具体产品类:工厂要创建的具体产品。

 

         3) 抽象工厂类:定义工厂方法。

         4) 抽象工厂类:实现工厂方法,创建具体产品。

从开闭原则来分析工厂模式。当消费者想要一种新型车,需要扩展产品类,并扩展工厂类,都符合开闭原则的。 

上一篇:

下一篇: