编程语言
首页 > 编程语言> > Java设计模式之抽象工厂模式

Java设计模式之抽象工厂模式

作者:互联网

       抽象工厂模式定义:提供一个创建一系列相互依赖对象的接口,而无需指定它们的具体类。
       向客户端提供一个接口,当客户端在不必指定产品的具体的情况下,创建多个产品族中的产品对象,可以使用抽象工厂模式。

以下代码演示抽象工厂模式简单的实际运用:

分别定义接口ProductInterface1、ProductInterface2:
package com.ldl.cn.AbstractFactoryModel;

public interface ProductInterface1 {
    public void code();
}

package com.ldl.cn.AbstractFactoryModel;

public interface ProductInterface2 {
    public void code();
}

定义Product1、Product2分别实现ProductInterface1、ProductInterface2:
package com.ldl.cn.AbstractFactoryModel;

public class Product1 implements ProductInterface1{

    @Override
    public void code() {
        System.out.println("code,java");
    }
}

package com.ldl.cn.AbstractFactoryModel;

public class Product2 implements ProductInterface2{

    @Override
    public void code() {
        System.out.println("code,C");
    }
}

定义工厂接口ProductFactory:
package com.ldl.cn.AbstractFactoryModel;

public interface ProductFactory {
    public ProductInterface1 createProduct1();
    public ProductInterface2 createProduct2();
}

定义Factory实现ProductFactory:
package com.ldl.cn.AbstractFactoryModel;

public class Factory implements ProductFactory{

    @Override
    public ProductInterface1 createProduct1() {
        return new Product1();
    }

    @Override
    public ProductInterface2 createProduct2() {
        return new Product2();
    }
}

编写测试类:
package com.ldl.cn.AbstractFactoryModel;

public class TestAbstractFactoryPattern {
    public static void main(String[] args) {
        ProductFactory factory = new Factory();
        factory.createProduct1().code();
        factory.createProduct2().code();
    }
}

运行结果:
code,java
code,C

标签:code,Java,cn,package,ldl,AbstractFactoryModel,抽象,设计模式,public
来源: https://blog.csdn.net/ldllovegyh/article/details/89433252