最近一直在学习设计模式,拜读一本大神的<<大话设计模式>>后,感到自己对面向对象的理解有深入了不少,在此记录一下,以下例子不过是将书内的例子使用java进行重新编译,如果有朋友看到后感觉代码写的一般,请直接忽略,勿要打击一个小菜鸟的上进心!~
1 简单工厂模式
/**
*设计一个类 用于获取前台传过来的值,
*getResult方法用于获取返回值
*/
package com.my.test;
public class Bean implements java.io.Serializable{
private static final long serialVersionUID = 3810285196355344139L;
private double first;
private double second;
public double getFirst() {
return first;
}
public void setFirst(double first) {
this.first = first;
}
public double getSecond() {
return second;
}
public void setSecond(double second) {
this.second = second;
}
public double getResult()
{
double result = 0.0;
return result;
}
}
//加法类 继承bean并重写 getResult方法
public class add extends Bean {
@Override
public double getResult() {
return getFirst()+getSecond();
}
}
//减法类
package com.my.test;
public class min extends Bean{
@Override
public double getResult() {
// TODO Auto-generated method stub
return getFirst()-getSecond();
}
}
//工厂类 用于判断前台传过来的数据并创建对象
package com.my.test;
public class factory {
public static Bean creatFactory(String s){
Bean bean=null;
if(s.equals("+")){
bean = new add();
}
if (s.equals("-")) {
bean =new min();
}
return bean;
}
}
//界面 用于传值
package com.my.test;
public class app {
public static void main(String[] args) {
Bean bean = null;
bean = factory.creatFactory("-");
bean.setFirst(1);
bean.setSecond(2);
System.out.println(bean.getResult());
}
}