二、简单工厂模式

设计模式

二、工厂模式

解决问题

  1. 主要解决接口选择的问题

优点

  1. 扩展性高,增加产品只需要扩展工厂类

  2. 屏蔽具体实现,面向接口

缺点

  1. 不符合开闭原则,增加产品需要修改工厂类

实现

// 产品通用接口
public interface Operation {
    void shoot();
}
// 产品工厂 根据参数不同 返回对应的产品
public class GunFactory {
    public Operation getOpration(String type) {
        if ("M4".equals(type)) {
            return new M4Gun();
        } else if ("AUG".equals(type)) {
            return new AugGun();
        }
        return null;
    }
}
// 具体产品 实现通用接口
public class M4Gun implements Operation {
    @Override
    public void shoot() {
        System.out.println("M4 shoot you");
    }
}

 

UML类图

二、简单工厂模式_第1张图片

你可能感兴趣的:(二、简单工厂模式)