设计模式笔记——简单工厂模式
来源:互联网 发布:微信小号矩阵 编辑:程序博客网 时间:2024/05/22 00:26
简单工厂模式的学习
简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现。
所有设计模式总结请参考:http://blog.csdn.net/chr23899/article/details/46999267
所有设计原则总结请参考:http://blog.csdn.net/chr23899/article/details/46999401
首先来看下具体的效果图
主要包括两个数 Number_X 和Number_Y 下面是四个操作 Add(+)、 Sub(-) 、 Mul(*)、 Div(/); 当用户点击其中一个操作时工厂会实例化具体的操作类型。
改应用的类图如下:
具体实现如下代码:
//操作类 public class Operation { //定义两个操作数 number_x 与 number_y private double number_x = 0; private double number_y = 0; //对 number_x 进行封装 public double Number_x { get { return number_x; } set { number_x = value; } } //对 number_y 进行封装 public double Number_y { get { return number_y; } set { number_y = value; } } //定义虚函数 public virtual double Result() { double number = 0; return number; } } //加法运算 public class Operation_Add : Operation { public override double Result() { double number = 0; number = Number_x + Number_y; return number; } } //减法运算 public class Operation_Sub : Operation { public override double Result() { double number = 0; number = Number_x - Number_y; return number; } } //乘法运算 public class Operation_Mul : Operation { public override double Result() { double number = 0; number = Number_x * Number_y; return number; } } //除法运算 public class Operation_Div : Operation { public override double Result() { double number = 0; if (Number_y == 0) return 0; number = Number_x / Number_y; return number; } } //定义一个工厂类获取具体的操作类 public class FactoryOfOperation { public static Operation GetTheOperation(string str) { Operation oper = null; switch (str) { case "add": oper = new Operation_Add(); break; case "sub": oper = new Operation_Sub(); break; case "mul": oper = new Operation_Mul(); break; case "div": oper = new Operation_Div(); break; default: break; } return oper; } }
源程序下载地址: http://download.csdn.net/detail/chr23899/8922383
原文出处: http://blog.csdn.net/chr23899 转发请说明
1 0
- 设计模式学习笔记——简单工厂模式、工厂方法模式、抽象工厂模式
- 设计模式笔记(二)——简单工厂模式
- 设计模式笔记——简单工厂模式
- 大话设计模式 笔记1——简单工厂模式
- 设计模式学习笔记——简单工厂模式
- 一、简单工厂模式——设计模式学习笔记
- 《设计模式》学习笔记2——简单工厂模式
- 《设计模式》学习笔记2——简单工厂模式
- 设计模式——简单工厂模式
- 设计模式——简单工厂模式
- 设计模式——简单工厂模式
- 设计模式——简单工厂模式
- 设计模式——简单工厂模式
- 【设计模式】——简单工厂模式
- 设计模式——简单工厂模式
- 设计模式——简单工厂模式
- 设计模式——简单工厂模式
- 设计模式——简单工厂模式
- poj 2139 Floyd-Warshall算法求最短路
- codevs1049
- AsyncTask的学习
- DevComponents.DotNetBar2显示控件的方法
- Hibernate注解法一对多时,赖加载问题
- 设计模式笔记——简单工厂模式
- 招聘管理
- animation几个比较好玩的属性(alternate,及animation-fill-mode)
- 大数据之简介
- Rails中的使用者验证:Devise
- Tomcat 6.x Perm区内存泄露问题
- oracle用户创建及权限设置
- Java项目导出源代码jar包在Eclipse中查看中文注释乱码的问题
- 数据库主体在该数据库中拥有 架构,无法删除。