Design Pattern——Factory_DP
namespace TEST
{
//用于生成一个对应的操作类,这个工厂只是用来产生操作类的,不做其他只用
public class Factory
{
public Operate GetOpetration(string mark)
{
switch(mark)
{
case "+":
return new OperateAdd();
break;
case "-":
return new OperateSub();
break;
case "*":
return new OperateMultiply();
break;
case "/":
return new OperateDivision();
break;
default:
return null;
break;
}
}
}
//这个类是用来执行相关的操作的
public abstract class Operate
{
public double operateTwo { get; set; }
public double operateOne { get; set; }
public abstract string Opetration();
}
public class OperateAdd:Operate
{
public override string Opetration()
{
return Convert.ToString(base.operateOne + base.operateTwo);
}
}
public class OperateSub : Operate
{
public override string Opetration()
{
return Convert.ToString(this.operateOne - this.operateTwo);
}
}
public class OperateMultiply : Operate
{
public override string Opetration()
{
return Convert.ToString(this.operateOne*this.operateTwo);
}
}
public class OperateDivision : Operate
{
public override string Opetration()
{
if (this.operateTwo != )
return Convert.ToString(this.operateOne / this.operateTwo);
else
return "input error";
}
}
class Program
{
static void Main(string[] args)
{
try
{
double num1=Convert.ToDouble( Console.ReadLine());
double num2 =Convert.ToDouble( Console.ReadLine());
string op = Convert.ToString(Console.ReadLine());
var factory = new Factory();
var Opetration = factory.GetOpetration(op);
Opetration.operateOne = num1;
Opetration.operateTwo = num2;
Console.WriteLine(Opetration.Opetration()); Console.Read(); Console.Read();
}
catch (Exception ex)
{
Console.WriteLine("程序出错");
} }
}
}
Design Pattern——Factory_DP的更多相关文章
- 说说设计模式~大话目录(Design Pattern)
回到占占推荐博客索引 设计模式(Design pattern)与其它知识不同,它没有华丽的外表,没有吸引人的工具去实现,它是一种心法,一种内功,如果你希望在软件开发领域有一种新的突破,一个质的飞越,那 ...
- 设计模式(Design Pattern)系列之.NET专题
最近,不是特别忙,重新翻了下设计模式,特地在此记录一下.会不定期更新本系列专题文章. 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结. 使用 ...
- [转]Design Pattern Interview Questions - Part 4
Bridge Pattern, Composite Pattern, Decorator Pattern, Facade Pattern, COR Pattern, Proxy Pattern, te ...
- [转]Design Pattern Interview Questions - Part 2
Interpeter , Iterator , Mediator , Memento and Observer design patterns. (I) what is Interpreter pat ...
- [转]Design Pattern Interview Questions - Part 3
State, Stratergy, Visitor Adapter and fly weight design pattern from interview perspective. (I) Can ...
- [转]Design Pattern Interview Questions - Part 1
Factory, Abstract factory, prototype pattern (B) What are design patterns? (A) Can you explain facto ...
- design pattern
1. visitor design pattern http://butunclebob.com/ArticleS.UncleBob.IuseVisitor
- Design Pattern: Observer Pattern
1. Brief 一直对Observer Pattern和Pub/Sub Pattern有所混淆,下面打算通过这两篇Blog来梳理这两种模式.若有纰漏请大家指正. 2. Use Case 首先我们来面 ...
- Scalaz(10)- Monad:就是一种函数式编程模式-a design pattern
Monad typeclass不是一种类型,而是一种程序设计模式(design pattern),是泛函编程中最重要的编程概念,因而很多行内人把FP又称为Monadic Programming.这其中 ...
随机推荐
- 我是实践派之mongo的一主多从
mongo一主多从 为什么要做一主多从? mongodb天生就是为了分布式而生的,为了保证数据读写分离和数据安全,把数据放在不同的机子上,可以减少主节点的读压力,而让从节点去承受读请求压力. 主节点用 ...
- Spark 2.x不支持ALTER TABLE ADD COLUMNS,没关系,我们改进下
SparkSQL从2.0开始已经不再支持ALTER TABLE table_name ADD COLUMNS (col_name data_type [COMMENT col_comment], .. ...
- Docker集群实验环境布署--swarm【6 配置上层Nginx代理,让任意Docker client访问得到高可用的管理API】
10.40.42.10上,也就是对应的VRRP中的10.40.42.1和2上,配置nginx tcp代理 # cat 4000_manager.venic.com_10.40.100.141-14 ...
- Maven之(三)Maven插件
Maven本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给插件来完成,像编译是通过maven-compile-plugin实现的.测试是通过maven-surefire-p ...
- C#中对属性和字段的理解
字段 C#中很少提到全局变量的概念, 引入了字段一词来代替全局变量, 但也并不是这样简单的, 字段会比全局变量的使用更难理解, 使用上会简单, 初学者当做成员变量或者全局变量不会有什么影响, 随着使用 ...
- CreateMutex()参数报错问题
举例: hMutex = CreateMutex(NULL, FALSE,"screen"); 报错 error C2664:"CreateMutexW": 不 ...
- ECStore图片存储采用阿里云OSS(图片存储)服务
主要功能:ECStore图片存储采用阿里云OSS(图片存储)服务 适用版本:ECStore 授权方式:授权域名使用,付费插件 联系方式: QQ 275553385 mail: jimingson ...
- Unity3D消息:消息传递函数
- ZendStudio9之SVN项目代码提示丢失解决
前几天转移服务器,SVN 也重建了个,但用着重建的项目发现代码提示丢失了...好郁闷..搞了半天终于找到解决的方法了! 如果你还保留有以前的 SVN 项目本地完整备份,可以直接拷贝以下三个文件到新项目 ...
- 推荐几个在线PDF转化成Word网站
不想安装专业的pdf转换成word软件,希望大家喜欢!昨天用的https://www.pdftoword.com/# 成功搞定! 1.Free-PDFtoWord 在线转换工具: 地址:http:// ...