设计模式之简单工厂模式
来源:互联网 发布:mac 更新ruby版本 编辑:程序博客网 时间:2024/05/16 05:05
设计模式之简单工厂模式Operation.javaSumOperation.javaSubOperation.javaOperationFactory.javaTest.java
简单工厂模式又名为:静态工厂方法模式。主要使用在业务较简单的情况下。
它由三种角色组成:
1、工厂类角色:这是本模式的核心,含有一定的商业逻辑和判断逻辑。在java中它往往由一个具体类实现。
2、抽象产品角色:它一般是具体产品继承的父类或者实现的接口。在java中由接口或者抽象类来实现。
3、具体产品角色:工厂类所创建的对象就是此角色的实例。在java中由一个具体类实现。
下面用该模式实现简单的计算器功能(本例将其功能大大缩减):
事先准备:
1.业务逻辑与界面逻辑分离降低耦合度,方便维护及扩展
2.通过继承多态的方式使具体功能分离
正式开始:
首先定义一个Operation接口:
1 package test02;2 3 public interface Operation {4 float getResult();5 }
接着完成加减法的Operation具体实现类:
1 package test02; 2 3 public class SumOperationImp implements Operation{ 4 5 @Override 6 public float getResult() { 7 float result=0; 8 result = 1+1; 9 return result;10 11 }12 13 }
1 package test02; 2 3 public class SubOperationImp implements Operation{ 4 5 @Override 6 public float getResult() { 7 float result=0; 8 result = 1-1; 9 return result;10 11 }12 13 }
再实现静态工厂类用来实例化对象:
1 package test02; 2 3 public class OperationFactory { 4 public static Operation getOperation (String oper) { 5 if("+".equals(oper)){ 6 return new SumOperationImp(); 7 } 8 else { 9 return new SubOperationImp();10 }11 12 }13 }
最终完成测试类:
1 package test02; 2 3 import java.util.Scanner; 4 5 public class Test { 6 public static void main(String[] args) { 7 Scanner scanner =new Scanner(System.in); 8 String oper =scanner.nextLine(); 9 Operation operation= OperationFactory.getOperation(oper);10 float result = operation.getResult();11 System.out.println(result);12 }13 }
初学《大话设计模式》
0 0
- 设计模式 之简单工厂+ 工厂模式
- 设计模式之简单工厂设计模式
- 设计模式之简单工厂模式,工厂模式,策略模式
- 设计模式 之 简单工厂
- 设计模式之简单工厂
- 设计模式之简单工厂
- 设计模式之简单工厂
- 设计模式之简单工厂
- 设计模式之简单工厂
- 设计模式之简单工厂
- 设计模式之简单工厂
- 设计模式之简单工厂
- 设计模式之简单工厂.
- 设计模式之简单工厂
- 设计模式之简单工厂
- 设计模式之简单工厂
- 设计模式之简单工厂
- 设计模式之简单工厂
- activity的一些自我理解
- github安装提交心得
- 配置springMVC时出现的问题
- Broadcast receiver之我见
- Intent之小编见
- 设计模式之简单工厂模式
- 【Android 开发】Android App 内存泄露之Handler
- android测试工具
- 设计模式之代理模式
- notification新旧用法
- 设计模式之单例模式
- Android 为文本添加发亮的效果(LED时钟为例)
- android自定义控件初解
- 设计模式之模板方法模式