设计模式之简单工厂模式

原创 2012年03月24日 22:20:13

自己写的。可能有不对的地方,请指正,勿喷!!!

 

简单工厂模式,用的比较普遍,用一个类做工厂,实现一个方法。调用时通过参数判断实例化哪个类,当然返回的类是继承了一个类的子类

看例子吧

运算方法超类

package com.mode;

/**
 * 计算器运算超类
 * @author hao
 *
 */
public class Caculator {
	/** 参数1 */
	public double numA;
	
	/** 参数2 */
	public double numB;
	
	/**
	 * 获得结果
	 * @return 运算之后的结果
	 */
	public double getResult() {
		double result = 0;
		return result;
	}
}


然后,加法类,乘法类,除法类继承之,实现getResult()方法

加法类:

package com.mode;

/**
 * 加法
 * 
 * @author hao
 * 
 */
public class Addition extends Caculator {

	@Override
	public double getResult() {
		return numA + numB;
	}

}


乘法类:

package com.mode;

/**
 * 乘法
 * 
 * @author hao
 * 
 */
public class Multiplication extends Caculator {

	@Override
	public double getResult() {
		return numA * numB;
	}

}


工厂类:生成我们所需要的运算对象

package com.mode;

/**
 * 工厂类,生成运算方法
 * @author hao
 *
 */
public class Factory {
	/**
	 * 获取运算方式
	 * @param 所需要的模式类型
	 * @return 返回运算对象
	 */
	public static Caculator getOperation(int mode) {
		switch (mode) {
		case Contants.Operation.ADDITION:
			return new Addition();
		case Contants.Operation.SUBTRACTION:
			
		case Contants.Operation.MULTIPLICATION:
			return new Multiplication();
		case Contants.Operation.DIVISION:

		default:
			break;
		}
		return null;
	}
}

Main类,看效果

package com.mode;

public class Main {
	public static void main(String[] args) {
		Caculator caculator = Factory.getOperation(Contants.Operation.ADDITION);
		caculator.numA = 1.2;
		caculator.numB = 2.5;
		System.out.println(caculator.getResult());
	}
}


我们需要加法,直接在 getOperation传入加法的参数我们即可返回所需要的对象,如果需要增加运算方式,我们直接继承Caculator即可,然后在Factory中的switch中增加一个case段。。

【设计模式】简单工厂模式与工厂方法模式详细解读

1.前言     设计模式,各具特色,今天在此总结一下常见模式中 简单工厂模式与工厂方法模式的区别与联系 2.两种模式概要    1. 简单工厂模式         对于简单工厂模式的介绍,请...
  • yudandan10
  • yudandan10
  • 2013年03月10日 15:09
  • 4705

JAVA设计模式之工厂模式(简单工厂模式+工厂方法模式)

在面向对象编程中, 最通常的方法是一个new操作符产生一个对象实例,new操作符就是用来构造对象实例的。但是在一些情况下, new操作符直接生成对象会带来一些问题。举例来说, 许多类型对象的创造需要一...
  • jason0539
  • jason0539
  • 2014年04月07日 17:36
  • 221623

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

软件开发中学好设计模式可以让你不用重复去造轮子。那么什么是设计模式呢? 设计模式:是一种解决特定环境下、重复出现的、特定问题的解决方案。 在开发软件的过程中,可能会碰到许多特定的问题,利用设计模式...
  • H_Zhang
  • H_Zhang
  • 2016年04月20日 20:18
  • 1121

设计模式之简单工厂模式

  • 2014年08月17日 14:51
  • 33KB
  • 下载

设计模式在android中的应用之1,简单工厂模式

  • 2015年08月17日 17:14
  • 3.09MB
  • 下载

设计模式之简单工厂模式

  • 2014年04月23日 11:23
  • 29KB
  • 下载

设计模式-简单工厂模式《搭积木》

  • 2012年05月24日 18:07
  • 15KB
  • 下载

设计模式——简单工厂模式

  • 2013年08月10日 15:54
  • 6KB
  • 下载

设计模式之简单工厂模式案例

  • 2017年07月09日 13:19
  • 12KB
  • 下载

设计模式_简单工厂模式

  • 2012年10月15日 16:28
  • 23KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:设计模式之简单工厂模式
举报原因:
原因补充:

(最多只允许输入30个字)