(转) java 简单工厂模式(实现一个计算器)
package com.simpleFactory; /**
* 运算类
* @author Administrator
*
*/
public class Operation { private double numberA; private double numberB; public double getResultValue(){
return 0.0;
} public double getNumberA() {
return numberA;
} public void setNumberA(double numberA) {
this.numberA = numberA;
} public double getNumberB() {
return numberB;
} public void setNumberB(double numberB) {
this.numberB = numberB;
} }
package com.simpleFactory; /**
* 加法实现方式
* @author Administrator
*
*/
public class Addition extends Operation { @Override
public double getResultValue() {
return getNumberA() + getNumberB();
}
}
package com.simpleFactory; /**
* 减法实现方式
* @author Administrator
*
*/
public class Subtracter extends Operation { @Override
public double getResultValue() {
return getNumberA() - getNumberB();
}
}
package com.simpleFactory; /**
* 简单工厂类
* @author Administrator
*
*/
public class SimpleFactory { private Operation operation;
public Operation factoryOperate (String type ){ if ("+".equals(type)){ operation = new Addition();
}
else if ("-".equals(type)){ operation = new Subtracter();
}
return operation;
}
}
package com.simpleFactory; /**
* 简单工厂类 ,利用反射实现
* @author Administrator
*
*/
public class SimpleFactory_reflect { private Operation operation;
public Operation factoryOperate (String classType ){ try {
operation = (Operation)Class.forName("com.simpleFactory."+classType).newInstance();
} catch (Exception e) { e.printStackTrace();
} return operation;
}
}
重点的是在反射这里,通过反射机制可以不要在增加新功能时修改工厂类,只需要将新的方法函数名加进去就可以了。
(转) java 简单工厂模式(实现一个计算器)的更多相关文章
- !!转!!java 简单工厂模式
举两个例子以快速明白Java中的简单工厂模式: 女娲抟土造人话说:“天地开辟,未有人民,女娲抟土为人.”女娲需要用土造出一个个的人,但在女娲造出人之前,人的概念只存在于女娲的思想里面.女娲造人,这就是 ...
- Java简单工厂模式
Java简单工厂模式 在阎宏博士的<JAVA与模式>一书中开头是这样描述简单工厂模式的:简单工厂模式是类的创建模式,又叫做静态工厂方法(Static Factory Method)模式.简 ...
- 设计模式(二)——Java简单工厂模式
简单工厂模式 案例: 披萨的项目(要便于披萨种类的扩展,要便于维护) 1)披萨的种类很多(比如 GreekPizz.CheesePizz 等) 2)披萨的制作有 prepare,bake, cut, ...
- JAVA简单工厂模式(从现实生活角度理解代码原理)
简单工厂模式(Simple Factory),说他简单是因为我们可以将此模式比作一个简单的民间作坊,他们只有固定的生产线生产固定的产品.也可以称他为静态工厂设计模式,类似于之前提到过静态代理设计模式, ...
- Java简单工厂模式以及来自lambda的优化
前言 设计模式是软件工程中一些问题的统一解决方案的模型,它的出现是为了解决一些普遍存在的,却不能被语言特性直接解决的问题,随着软件工程的发展,设计模式也会不断的进行更新,本文介绍的是经典设计模式 ...
- Java简单工厂模式(SimpleFactoryMode)
何为简单工厂模式? 由一个工厂类根据传入的参数,动态创建并返回相应的具体的实例! 三个构成元素: 1.工厂类 2.抽象产品 3.具体产品 优点: 1.提高扩展性 2.隐藏具体的实现类,并不需要知道产品 ...
- java 简单工厂模式实现
简单工厂模式:也可以叫做静态工厂方法,属于类创建型模式,根据不同的参数,返回不同的类实现. 主要包含了三个角色: A.抽象产品角色 一般用接口 或是 抽象类实现 B.具体的产品角色,具体的类的实现 C ...
- Java 简单工厂模式
首先 定义一接口 package com.org; public interface SampleInterface { public void print(String s); } 定义两个接口的实 ...
- Java中的简单工厂模式
举两个例子以快速明白Java中的简单 工厂模式: 女娲抟土造人话说:“天地开辟,未有人民,女娲抟土为人.”女娲需要用土造出一个个的人,但在女娲造出人之前,人的概念只存在于女娲的思想里面.女娲造人,这就 ...
随机推荐
- The Suspects 简单的并查集
Description 严重急性呼吸系统综合症( SARS), 一种原因不明的非典型性肺炎,从2003年3月中旬开始被认为是全球威胁.为了减少传播给别人的机会, 最好的策略是隔离可能的患者. 在Not ...
- libyuv 编译 for android
libyuv is an open source project that includes is an instrumentation framework for building dynamic ...
- Codeforces Round #328 (Div. 2)
这场CF,准备充足,回寝室洗了澡,睡了一觉,可结果... 水 A - PawnChess 第一次忘记判断相等时A先走算A赢,hack掉.后来才知道自己的代码写错了(摔 for (int i=1; ...
- POJ3694 Network(边双连通分量+缩点+LCA)
题目大概是给一张图,动态加边动态求割边数. 本想着求出边双连通分量后缩点,然后构成的树用树链剖分+线段树去维护路径上的边数和..好像好难写.. 看了别人的解法,这题有更简单的算法: 在任意两点添边,那 ...
- 十位一线专家分享Spark现状与未来----峰会摘录
CSDN大数据技术: 十位一线专家分享Spark现状与未来(一) 十位一线专家分享Spark现状与未来(二) 十位一线专家分享Spark现状与未来(三) 部分摘录: 加州大学伯克利分校AMP实验室博士 ...
- Spark Streaming实时计算框架介绍
随着大数据的发展,人们对大数据的处理要求也越来越高,原有的批处理框架MapReduce适合离线计算,却无法满足实时性要求较高的业务,如实时推荐.用户行为分析等. Spark Streaming是建立在 ...
- Flexbox——快速布局神器
Flexbox通常能让我们更好的操作他的子元素布局,例如: 如果元素容器没有足够的空间,我们无需计算每个元素的宽度,就可以设置他们在同一行: 可以快速让他们布局在一列: 可以方便让他们对齐容器的左.右 ...
- C++中inline这个玩意儿
inline 说明这个函数是内联的,在编译过程中内联函数会直接被源代码替换,提高执行效率 如果类中的某个函数会被调用很多次或者放在循环中,那么建议将这个函数声明为内联,可以提高程序的运行效率
- HDU 1312 (BFS搜索模板题)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1312 题目大意:问迷宫中有多少个点被访问. 解题思路: DFS肯定能水过去的.这里就拍了一下BFS. ...
- http://developer.51cto.com/art/200512/15883.htm
http://developer.51cto.com/art/200512/15883.htm