Java 设计模式01 - 简单工厂模式
先要学习设计模式之前的先看看一些基础 UML类图简单说明
可以先看看我的这篇博客: UML类图简单说明,学习编程思路的必会技能
接下来才是重点,开始我们的旅程吧.
一.UML类图展示

我们要用简单工厂模式 实现简易的计算器,看到上面的UML图估计你们都应该明白改创建那些类了,那我们就开始吧。
编程是一门艺术,所以编程切记不要拿着就开始写,一定要理清思路然后在开始行动.
二.开始编程
1. 根据UML类图的规划 ,我们首先创建抽象运算类 Operation (如果直接看这个不懂为什么是运算类是抽象类的可以看看上面我推荐的UML说明文章)
/**
* 操作类
*/
public class Operation { private double numA = 0;
private double numB = 0; public double getNumA() {
return numA;
} public void setNumA(double numA) {
this.numA = numA;
} public double getNumB() {
return numB;
} public void setNumB(double numB) {
this.numB = numB;
} /**
* 获取结果值
* @return
*/
public double getResult(){ double result = 0;
return result;
}
}
2.分别创建四个子类(加减乘除类)
/**
* 加法运算类
*/
public class AddOperation extends Operation { @Override
public double getResult() {
return getNumA() + getNumB();
}
}
/**
* 减法运算类
*/
public class SubOperation extends Operation { @Override
public double getResult() {
return getNumA() - getNumB();
}
}
/**
* 乘法运算类
*/
public class MulOperation extends Operation { @Override
public double getResult() {
return getNumA() * getNumB();
}
}
/**
* 除法运算类
*/
public class DivOperation extends Operation { @Override
public double getResult() {
try{
return getNumA() / getNumB();
}catch (Exception e){
return 0;
}
}
}
3.创建工厂类
/**
* 工厂类
*/
public class OperationFactory { public static Operation createOperation(String operate){ Operation operation = null;
switch (operate){
case "+":
operation = new AddOperation();
break;
case "-":
operation = new SubOperation();
break;
case "*":
operation = new MulOperation();
break;
case "/":
operation = new DivOperation();
break;
}
return operation;
}
}
4.使用
/**
* 简单工厂模式的用法
*/
public class Main { public static void main(String[] args) { Operation operation = OperationFactory.createOperation("/");
operation.setNumA(1);
operation.setNumB(3);
System.out.println("值:"+operation.getResult()); }
}
Demo: 下载地址
是不是很容易,自己敲下就好了.
Java 设计模式01 - 简单工厂模式的更多相关文章
- (1)java设计模式之简单工厂模式
一:简单工厂模式的优点 --->在阎宏博士的<JAVA与模式>一书中开头是这样描述简单工厂模式的:简单工厂模式是类的创建模式,又叫做静态工厂方法(Static Fa ...
- Java设计模式(1)——简单工厂模式
简单工厂模式属于类的创建型模式,又叫做静态工厂方法模式.通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类. 一.模式中包含的角色及其职责 1.工厂(Creator)角色 简单 ...
- Java 设计模式之 简单工厂模式(静态工厂方法模式)
简单工厂模式(Simple Factory Pattern)属于类的创新型模式,又叫静态工厂方法模式(Static FactoryMethod Pattern),是通过专门定义一个类来负责创建其他类的 ...
- java设计模式之简单工厂模式
简单工厂: 简单工厂的优点: 1.去除客户端与具体产品的耦合,在客户端与具体的产品中增加一个工厂类,增加客户端与工厂类的耦合 2.封装工厂类,实现代码平台的复用性,创建对象的过程被封装成工厂类,可以多 ...
- Java设计模式之【工厂模式】(简单工厂模式,工厂方法模式,抽象工厂模式)
Java设计模式之[工厂模式](简单工厂模式,工厂方法模式,抽象工厂模式) 工厂模式出现的原因 在java中,创建一个对象最简单的方法就是使用new关键字.但在一些复杂的业务逻辑中,创建一个对象不只需 ...
- 设计模式之简单工厂模式Simple Factory(四创建型)
工厂模式简介. 工厂模式专门负责将大量有共同接口的类实例化 工厂模式可以动态决定将哪一个类实例化,不必事先知道每次要实例化哪一个类. 工厂模式有三种形态: 1.简单工厂模式Simple Factory ...
- Java 设计模式之抽象工厂模式(三)
原文地址:Java 设计模式之抽象工厂模式(三) 博客地址:http://www.extlight.com 一.前言 上篇文章 <Java 设计模式之工厂模式(二)>,介绍了简单工厂模式和 ...
- Java中的简单工厂模式
举两个例子以快速明白Java中的简单 工厂模式: 女娲抟土造人话说:“天地开辟,未有人民,女娲抟土为人.”女娲需要用土造出一个个的人,但在女娲造出人之前,人的概念只存在于女娲的思想里面.女娲造人,这就 ...
- C#设计模式(2)-简单工厂模式
引言 上一遍中介绍了设计模式中的单例模式-C#设计模式(1)-单例模式,本篇将介绍简单工厂模式,也是比较容易理解的一种模式: 简单工厂模式简介 什么是简单工厂模式? 定义一个工厂类,它可以根据参数的不 ...
随机推荐
- ExportAsFixedFormat Visio文件另存为其他几种格式的处理
Visio文件另存为其他几种格式的处理,以及另存为Web文件等相关操作. 1.Visio导出为PDF格式 在一般情况下,PDF格式是较为常用的内容格式,因此Visio文档(Vsd格式)导出为PDF也是 ...
- redis3.0.6安装配置
运行linux客户端 1 安装依赖 yum install gcc-c++ -y(安装gcc) 2 创建安装目录.编译.安装 mkdir -p /usr/local/redis(创建安 ...
- JBoss 系列十八:使用JGroups构建块RpcDispatcher构建群组通信应用
内容概要 本部分说明JGroups构建块接口RpcDispatcher,具体提供一个简单示例来说明如何使用JGroups构建块RpcDispatcher构建群组通信应用. 示例描述 类似Message ...
- vue - check-versions.js for child_process
webpack之类的配置文件. webpack.base.conf.js
- 算法笔记_053:最优二叉查找树(Java)
目录 1 问题描述 2 解决方案 1 问题描述 在了解最优二叉查找树之前,我们必须先了解何为二叉查找树? 引用自百度百科一段讲解: 二叉排序树(Binary Sort Tree)又称二叉查找树(B ...
- Python进阶---python strip() split()函数实战(转)
先看一个例子: >>> ipaddr = 10.122.19.10 File "", line 1 ipaddr = 10.122.19.10 ^ SyntaxE ...
- Google 地图 API for Android
原文:Introduction to Google Maps API for Android 作者:Eunice Obugyei 译者:kmyhy 从健康类 app Runkeeper 到游戏 app ...
- Hibernate 一对一关联查询
版权声明:本文为博主原创文章,如需转载请标注转载地址. 博客地址:http://www.cnblogs.com/caoyc/p/5602418.html 一对一关联,可以分为两种.一种是基于外键的关 ...
- Oem7F7 通用完美激活v7.0绿色版 永久激活Windows7/2008
http://www.21andy.com/blog/20100906/1942.html
- VMware安装Centos7超详细过程(图文)
1.软硬件准备 软件:推荐使用VMwear,我用的是VMwear 12 镜像:CentOS6 ,如果没有镜像可以在阿里云下载 https://mirrors.aliyun.com/centos/ 硬件 ...