设计模式才是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里指不同的对象)。
