设计模式才是Java灵魂,Java创建型模式的抽象工厂模式
无规矩不成方圆
Java23 种设计模式。这些模式可以分为三大类:创建型模式(Creational Patterns)、结构型模式(Structural Patterns)、行为型模式(Behavioral Patterns)。
今天温习一下抽象工厂模式。
工厂模式和抽象工厂模式的区别:
JAVA抽象工厂模式实例:
1.定义产品。
class Product1
{
public String name;
}
class Product2
{
public String name;
}
2.定义抽象工厂,提供了生产产品的方法。
interface AbstractFactory
{
public Product1 newProduct1();
public Product2 newProduct2();
}
3.定义具体工厂,实现了生产产品的方法。
class ConcreteFactory1 implements AbstractFactory
{
public Product1 newProduct1()
{
System.out.println("具体工厂 1 生成-->具体产品 1");
return new ConcreteProduct11();
}
public Product2 newProduct2()
{
System.out.println("具体工厂 1 生成-->具体产品 2");
return new ConcreteProduct21();
}
}
4.定义具体工厂,实现了生产产品的方法。
class ConcreteFactory1 implements AbstractFactory
{
public Product1 newProduct1()
{
System.out.println("具体工厂 1 生成-->具体产品 1");
return new ConcreteProduct11();
}
public Product2 newProduct2()
{
System.out.println("具体工厂 1 生成-->具体产品 2");
return new ConcreteProduct21();
}
}
5.测试。
class Test
{
public static void main(String[] args)
{
ConcreteFactory1 cf=new ConcreteFactory1();
Product1 p1=cf.newProduct1();
Product1 p2=cf.newProduct2();
}
}
说明:这样就可以通过工厂类ConcreteFactory1创建出来不同的产品了(Java里指不同的对象)。