HeadFirst设计模式读书笔记——简单工厂模式
来源:互联网 发布:天猫商家电话数据采集 编辑:程序博客网 时间:2024/05/17 04:26
初步接触设计模式,菜鸟一枚,此文章仅作为学习笔记记录,仅作设计模式敲门石。
直接上样例代码:
Operation.java
package com.ai.data.config.smo;public class Operation {public int getResult(int firstNum,int secondNum) {return 0;}}
package com.ai.data.config.smo;public class OperationAdd extends Operation{public int getResult(int firstNum,int secondNum) {return firstNum + secondNum;}}
OperationSub.java
package com.ai.data.config.smo;public class OperationSub extends Operation{public int getResult(int firstNum,int secondNum) {return firstNum - secondNum;}}
SimpleOperationFactoryBean
package com.ai.data.config.smo;/** * 第一个设计模式例子,入门工厂模式 * 总结:工厂模式,即从业务实现类中抽离出实例对象创建,交由 * 专门的FactoryBean负责创建实例对象 * @author sww * */public class SimpleOperationFactoryBean {public static Operation createOperation(String type){Operation operation = null;if("+".equals(type)){operation = new OperationAdd(); }else if("-".equals(type)){operation = new OperationSub(); }return operation;}}
Test:
package com.ai.data.config.smo;public class Test {/**工厂模式测试 * @param args */public static void main(String[] args) {// TODO Auto-generated method stubSimpleOperationFactoryBean SimpleOperationFactoryBean = new SimpleOperationFactoryBean();Operation operationAdd = SimpleOperationFactoryBean.createOperation("+");System.out.println("###2+1=" + operationAdd.getResult(1,2));Operation operationSub = SimpleOperationFactoryBean.createOperation("-");System.out.println("###2-1=" + operationSub.getResult(2,1));}}
测试结果
总结:例子很简单,工厂模式就是把实例对象创建从代码中移出来给一个专门的工厂类来创造,不在类里面自己new。
设计模式四点核心思想。
1:可维护
2:可复用
3:可拓展
4:够灵活
这里体现的我理解就是灵活性好,有点像切面编程代码复用。
0 0
- HeadFirst设计模式读书笔记——简单工厂模式
- 【读书笔记】HeadFirst设计模式——工厂模式简述
- HeadFirst设计模式 读书笔记
- HeadFirst设计模式 读书笔记
- 读书笔记:《HeadFirst设计模式》
- HeadFirst设计模式读书笔记
- 《HeadFirst设计模式》读书笔记-第4章-工厂模式
- HeadFirst 设计模式笔记(四)—— 工厂模式
- HeadFirst 设计模式笔记(四)—— 工厂模式
- <HeadFirst设计模式>笔记——工厂模式
- 【HeadFirst设计模式】工厂模式
- HeadFirst 设计模式--工厂模式
- 【读书笔记】HeadFirst设计模式——命令模式简述
- 大话设计模式读书笔记——“简单工厂模式”
- 《读书笔记》设计模式——简单工厂模式
- 【读书笔记】HeadFirst设计模式——状态和策略
- 【读书笔记】HeadFirst设计模式——代理和装饰者
- HeadFirst设计模式 读书笔记1
- 重复元素的删除问题
- Android基本控件复习笔记(一)
- 【CodeForces】371C - Hamburgers(二分)
- c#之用StreamWriter追加写文件
- Ubuntu上搭建samba服务器并远程挂载
- HeadFirst设计模式读书笔记——简单工厂模式
- 开发一个文件搜索程序
- 进阶项目4-体重监测器
- Codeforces 439D Devu and his Brother
- ubuntu 环境变量设置
- php 类中的__get()和__set() 个人理解
- #1.使用virtualbox软件安装Centos7
- hdu5761Rower Bo+数学积分
- Codeforces Round #364 (Div. 2) C. They Are Everywhere(stl+乱搞)