抽象工厂模式:工厂模式是利用工厂类的工厂方法创建对象的一种设计模式,目的是创建对象,但是很多时候创建对象我们会考虑很多其他因素~~~~比如限定输入,限定返回值是否某个,比如在创建的过程中进行一些判断,通过不同的工厂模式就能把这些东西分离开来。
抽象工厂模式则是:构建多个产品接口形成产品族,放入工厂接口中。工厂分别调用构建这些产品的方法返回的都是借口。然后不同的工厂可以实现不同的方法产生不同的产品族
package com.dhh.day1; public class D { public static void main(String[] args){ AbstractFactory f1=new Factory1(); f1.createA(); f1.createZ(); AbstractFactory f2=new Factory2(); f2.createA(); f2.createZ(); } } //产品A的接口与Z接口组成产品族 interface A{ } class B implements A{ public B(){ System.out.println("制造了B"); } } class C implements A{ public C(){ System.out.println("制造了C"); } } //产品Z的接口与A接口组成产品族 interface Z{ } class X implements Z{ public X(){ System.out.println("制造了X"); } } class Y implements Z{ public Y(){ System.out.println("制造了Y"); } } //工厂接口有构建A构建B的接口方法 interface AbstractFactory { public A createA(); public Z createZ(); } //实现工厂化 class Factory1 implements AbstractFactory{ @Override public A createA() { return new B(); } @Override public Z createZ() { // TODO Auto-generated method stub return new X(); } } //实现工厂化 class Factory2 implements AbstractFactory{ @Override public A createA() { return new C(); } @Override public Z createZ() { // TODO Auto-generated method stub return new Y(); } }
以上是一个静态工厂的创建类的过程,创建类的所有过程都被隐藏