`
liupeng_10408
  • 浏览: 39031 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类

设计模式:简单工厂模式

阅读更多
  今天看了一下《大话设计模式》的第一章:简单工厂模式,文章通俗易懂,介绍了程序如何具备可扩展,可维护,易复用。下面简单回顾一下简单设计模式比最原始的程序设计方式的差异,以说明其优点。
   一个计算器可以有各种操作符运算,针对一个操作,建一个操作类,这些类继承一个公共的父类Operation. 这些类覆盖父类的方法getResult(int,int),得到各种操作的运算结果。最后建立一个工厂类,用于根据用户界面输入的操作符生成想要的操作类。最后运算得到结果。
操作接口:
   public interface Operation {
     public int getResult(int a,int b);
}
操作子类:
   public class OperationAdd implements Operation{

@Override
public int getResult(int a, int b) {
return (a + b);

}

}
工厂类:
 
public class Factory {

public Operation getOperation(char o)
{
Operation op = null;
switch(o)
{
case '+':
op = new OperationAdd();
break;
case '-':
op = new OperationDel();
break;
default:
break;
}
return op;
}

}


调用:
  public class UserMain {

/**
* @param args
*/
public static void main(String[] args) {
       Operation op = Factory.getOperation('+');
        int ret =  op.getResult(123, 23); 
        System.out.println(ret);
}

}


这样,有以下好处:
1.各个操作类互相分离,互不干扰。
2.易扩展:如果要增加操作,只需再建立相应的操作子类
3.易维护:只需修改操作类里的逻辑
4.可复用:讲业务逻辑与操作界面分离,业务逻辑部分可以分离给任何可以用到的程序用。
0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics