码迷,mamicode.com
首页 > 其他好文 > 详细

设计模式之简单工厂模式

时间:2015-06-30 23:16:15      阅读:192      评论:0      收藏:0      [点我收藏+]

标签:

简单工厂模式


简单工厂模式属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现。

    

简单工厂模式实例:

抽象运算类

package com.hml.factory.simple;

public abstract class Operation {

    private int numberA;
    private int numberB;

    public int getNumberA() {
        return numberA;
    }

    public void setNumberA(int numberA) {
        this.numberA = numberA;
    }

    public int getNumberB() {
        return numberB;
    }

    public void setNumberB(int numberB) {
        this.numberB = numberB;
    }

    public abstract int getResult();
}

 加法运算类:

package com.hml.factory.simple;

public class AddOperation extends Operation {

    public int getResult() {
        return getNumberA() + getNumberB();
    }

}

减法类:

package com.hml.factory.simple;

public class SubOperation extends Operation {

    public int getResult() {
        return getNumberA() - getNumberB();
    }

}

工厂类:

package com.hml.factory.simple;

public class OperationFactory {
    public static Operation createOperate(String operate) {
        if ("+".equals(operate)) {
            return new AddOperation();
        }

        if ("-".equals(operate)) {
            return new SubOperation();
        }
        return null;
    }
}

 类图:

技术分享

优点

创建对象时通过一个标识,就可以获取希望得到的对象,有助于对象的管理
 
缺点

每增加一个类,需要去修改工厂类,违背开放封闭原则,如果工厂类需要创建的对象很多,则工厂类会变的很臃肿

 

设计模式之简单工厂模式

标签:

原文地址:http://www.cnblogs.com/heml/p/4608446.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!