- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
05.设计模式.简单工厂模式(Simple Factory)
设计模式(Design Pattern)
张凯 副教授
计算机学院 软件工程系
问题(Problem)
实现控制台计算器
利用任意一种面向对象的语言
要求输入2个数和运算符,得到结果
问题(Problem)
static void Main(string[] args)
{
Console.Write(请输入数字A:);
string strNumberA = Console.ReadLine();
Console.Write(请选择运算符号(+、-、*、/):);
string strOperate = Console.ReadLine();
Console.Write(请输入数字B:);
string strNumberB = Console.ReadLine();
string strResult = ;
switch (strOperate)
{ case +:
strResult = (double.Parse(strNumberA) + double.Parse(strNumberB)).ToString();
break;
case -:
strResult = (double.Parse(strNumberA) - double.Parse(strNumberB)).ToString();
break;
case *:
strResult = (double.Parse(strNumberA) * double.Parse(strNumberB)).ToString();
break;
case /:
if (strNumberB != 0)
strResult = (double.Parse(strNumberA) / double.Parse(strNumberB)).ToString();
else
strResult = 除数不能为0;
break;
}
Console.WriteLine(结果是: + strResult);
Console.ReadLine();
}
问题(Problem)
原来的代码可复用吗?
问题(Problem)
实现计算器
Ctrl+C 和 Ctrl+V
维护的时候,带来灾难
尽可能的办法去避免重复
通过面向对象设计,让数据计算和用户交互方式分开
问题(Problem)
class Operation
{
public static double GetResult(double numberA, double numberB, string operate)
{
double result = 0;
switch (operate)
{
case +:
result = numberA + numberB;
break;
case -:
result = numberA - numberB;
break;
case *:
result = numberA * number
您可能关注的文档
- FB-Factory Visit Report Extensive.doc
- MASTER后处理NO TOOL.doc
- 组策略命令行工具使用之GPOTOOL.docx
- 计算机术语确定.doc
- Windows7 USB DVD Download Tool使用方法.doc
- QC Engineer chart.doc
- 仪表图例1.doc
- Process_Quality_Engineer.doc
- JAVA工厂模式结合 单例模式的应用.doc
- 瑞芯微Image打包工具使用说明.doc
- 【MiniTool数据恢复】如何从U盘中恢复出误删除的文件.doc
- User-friendly design in the use of modern industrial products.doc
- 系统工程(Systems Engineering, SE).ppt
- Module 1 Basketball[TY](ppt)1.ppt
- 【MiniTool数据恢复】误删除数据恢复.docx
- 【MiniTool技术共享】如何恢复Windows 7计算机中丢失的文件.doc
- 【MiniTool技术共享】怎样免费恢复U盘中丢失的数据.doc
- 【MiniTool数据恢复】计算机中毒后如何恢复数据.docx
- 选修7Module1导入.ppt
- Digital Film Tools系列插件注册破解方法.doc
文档评论(0)