Java设计模式之工厂模式
作者:互联网
工厂模式定义:定义创建对象的接口,并由其子类决定实例化哪一个工厂类。
在不同条件下需要创建不同实例时,可以使用工厂模式。
以下代码演示工厂模式简单的实际运用:
定义一个接口ProductInterface:
package com.ldl.cn.FactoryModel;
public interface ProductInterface {
void productShoes();
}
分别定义ProductInterface的实现类Slipper、Sandals:
package com.ldl.cn.FactoryModel;
public class Slipper implements ProductInterface{
@Override
public void productShoes() {
System.out.println("--生产拖鞋--");
}
}
package com.ldl.cn.FactoryModel;
public class Sandals implements ProductInterface{
@Override
public void productShoes() {
System.out.println("--生产凉鞋--");
}
}
定义工厂类ProductFactory:
package com.ldl.cn.FactoryModel;
public class ProductFactory {
public ProductInterface getProduct(String shoesName) {
if (shoesName == null) {
return null;
}
if (shoesName.equalsIgnoreCase("Slipper")) {
return new Slipper();
}else if (shoesName.equalsIgnoreCase("Sandals")) {
return new Sandals();
}
return null;
}
}
编写测试类:
package com.ldl.cn.FactoryModel;
public class TestFactoryPattern {
public static void main(String[] args) {
ProductFactory productFactory = new ProductFactory();
ProductInterface productInterface1 = productFactory.getProduct("Slipper");
productInterface1.productShoes();
ProductInterface productInterface2 = productFactory.getProduct("Sandals");
productInterface2.productShoes();
}
}
运行结果:
--生产拖鞋--
--生产凉鞋--
标签:productShoes,Java,cn,ProductInterface,ldl,工厂,设计模式,public,FactoryModel 来源: https://blog.csdn.net/ldllovegyh/article/details/89433232