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