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