抽象工厂模式(think in java中的设计模式)

抽象工厂模式:工厂模式是利用工厂类的工厂方法创建对象的一种设计模式,目的是创建对象,但是很多时候创建对象我们会考虑很多其他因素~~~~比如限定输入,限定返回值是否某个,比如在创建的过程中进行一些判断,通过不同的工厂模式就能把这些东西分离开来。

抽象工厂模式则是:构建多个产品接口形成产品族,放入工厂接口中。工厂分别调用构建这些产品的方法返回的都是借口。然后不同的工厂可以实现不同的方法产生不同的产品族

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();
    }
    
}

以上是一个静态工厂的创建类的过程,创建类的所有过程都被隐藏