Java设计模式之简单工厂模式

こ雲淡風輕ζ 提交于 2020-01-15 21:09:28

简单工厂模式(SimpleFactory)是类的创建模式,又叫做静态工厂方法模式,是最基本的设计模式。由一个工厂对象决定创建出哪一种产品的实例,三个重要的角色,工厂类、目标类抽象接口、目标对象类;工厂类包含静态的工厂方法。

伪代码

package testdaemo.bean;

import org.springframework.util.Assert;

/**
 * 简单工厂模式
 * 静态工厂方法类
 */
public class DepotFactory {

    private DepotFactory(){
    }

    public static Che createObject(String flag){
        Che che = null;
        switch (flag){
            case "bike":
                che = new Bike();
                break;
            case "car":
                che = new Car();
                break;
            case "train":
                che = new Train();
                break;
            case "cart":
                che = new Cart();
                break;
            default:
                Assert.isTrue(false,"无法生产出对应的车子。");
        }
        return che;
    }
}

工厂类根据传入的参数决定创建哪一类产品的对象实例。核心是工厂类,这个类含有必要的逻辑判断,客户端直接使用工厂方法创建的实例对象,实现了对责任的分割。

由于简单工厂模式使用静态方法作为工厂方法,不能被子类继承,工厂角色无法基于继承的等级结构。当对象类层次逻辑较深时,不利于拓展。违反了开闭原则:无法在系统无需修改的情况下,拓展其功能。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!