二、简单工厂模式

设计模式

二、工厂模式

解决问题

  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类图

../_images/SimpleFactory.jpg

posted @ 2020-06-22 10:41  剑豪索隆  阅读(106)  评论(0编辑  收藏  举报