1.工厂模式可以把对象的创建和使用分离出来,降低代码的耦合性。
(1)简单工厂模式
简单工厂可以实现对象的创建和对象的使用分离,由专门的工厂类负责对象的创建,缺点在于工厂类不够灵活,如果需要增加新的产品需要修改工厂类,而且产品较多时,工厂方法代码逻辑将会非常复杂。
package com.java.dp.factory;
/**
* @Author lizhilong
* @create 2019/12/2 17:27
* @desc 生产线接口
*/
public interface BuildLine {
void build();
}
package com.java.dp.factory;
/**
* @Author lizhilong
* @create 2019/12/2 17:30
* @desc 食品生产线
*/
public class FoodLine implements BuildLine {
@Override
public void build() {
System.out.println("-----------生产食品--------------");
}
}
package com.java.dp.factory;
/**
* @Author lizhilong
* @create 2019/12/2 17:28
* @desc 服装生产线
*/
public class ClothesLine implements BuildLine {
@Override
public void build() {
System.out.println("-----------生产衣服------------");
}
}
package com.java.dp.factory;
/**
* @Author lizhilong
* @create 2019/12/2 17:32
* @desc 对象工厂
*/
public class SimpleFactory {
public static BuildLine getFactory(String name) {
if ("food".equals(name)) {
return new FoodLine();
}
if ("clothes".equals(name)) {
return new ClothesLine();
}
return null;
}
}
BuildLine foodLine = SimpleFactory.getFactory("food");
foodFactory.build();
BuildLine clothesLine = SimpleFactory.getFactory("clothes");
clothesFactory.build();