当前位置: 首页 > news >正文

网络管理appseo 网站排名

网络管理app,seo 网站排名,最好的做网站公司,西安网站制作公司返回首页 前言 感谢各位同学的关注与支持,我会一直更新此专题,竭尽所能整理出更为详细的内容分享给大家,但碍于时间及精力有限,代码分享较少,后续会把所有代码示例整理到github,敬请期待。 此章节介绍策…

返回首页

前言

感谢各位同学的关注与支持,我会一直更新此专题,竭尽所能整理出更为详细的内容分享给大家,但碍于时间及精力有限,代码分享较少,后续会把所有代码示例整理到github,敬请期待。

此章节介绍策略模式。


1、策略模式

在策略模式中,一个类的行为或其算法可以在运行时更改。

在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的context对象。策略对象改变context对象的执行算法。

定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。

1.1、UML图

在这里插入图片描述
在这里插入图片描述

1.2、示例代码

// 版本一:未使用面向对象思想
//if (string.IsNullOrEmpty(tbPrice.Text) || string.IsNullOrEmpty(tbCount.Text))
//{
//    MessageBox.Show("单价或数量不能为空");
//    return;
//}
//double total = Convert.ToDouble(tbPrice.Text) * Convert.ToDouble(tbCount.Text);
//_total += total;
//rtbList.AppendText("单价:" + tbPrice.Text + " 数量:" + tbCount.Text + " 合计:" + total + "\n");
//lbTotal.Text = _total.ToString();// 版本二(增加打折):重复代码过多、未使用面向对象思想
//if (string.IsNullOrEmpty(tbPrice.Text) || string.IsNullOrEmpty(tbCount.Text))
//{
//    MessageBox.Show("单价或数量不能为空");
//    return;
//}
//double total = 0;
//switch (cbxType.SelectedIndex)
//{
//    case 0:
//        total = Convert.ToDouble(tbPrice.Text) * Convert.ToDouble(tbCount.Text);
//        break;
//    case 1:
//        total = Convert.ToDouble(tbPrice.Text) * Convert.ToDouble(tbCount.Text) * 0.8;
//        break;
//    case 2:
//        total = Convert.ToDouble(tbPrice.Text) * Convert.ToDouble(tbCount.Text) * 0.7;
//        break;
//    case 3:
//        total = Convert.ToDouble(tbPrice.Text) * Convert.ToDouble(tbCount.Text) * 0.5;
//        break;
//}
//_total += total;
//rtbList.AppendText("单价:" + tbPrice.Text + " 数量:" + tbCount.Text + " " + cbxType.SelectedItem + " 合计:" + total + "\n");
//lbTotal.Text = _total.ToString();// 版本三:简单工厂模式
//if (string.IsNullOrEmpty(tbPrice.Text) || string.IsNullOrEmpty(tbCount.Text))
//{
//    MessageBox.Show("单价或数量不能为空");
//    return;
//}
//Factory.CashSuper cash = Factory.CashFactory.CreateFactory(cbxType.SelectedItem.ToString());
//double total = cash.acceptCash(Convert.ToDouble(tbPrice.Text) * Convert.ToDouble(tbCount.Text));
//_total += total;
//rtbList.AppendText("单价:" + tbPrice.Text + " 数量:" + tbCount.Text + " " + cbxType.SelectedItem + " 合计:" + total + "\n");
//lbTotal.Text = _total.ToString();版本三:策略模式
//if (string.IsNullOrEmpty(tbPrice.Text) || string.IsNullOrEmpty(tbCount.Text))
//{
//    MessageBox.Show("单价或数量不能为空");
//    return;
//}
//Strategy.CashContext cashContext = null;
//switch (cbxType.SelectedItem)
//{
//    case "正常收费":
//        cashContext = new Strategy.CashContext(new Strategy.CashNormal());
//        break;
//    case "打八折":
//        cashContext = new Strategy.CashContext(new Strategy.CashRebate(0.8));
//        break;
//    case "满300返100":
//        cashContext = new Strategy.CashContext(new Strategy.CashReturn(300, 100));
//        break;
//    default:
//        break;
//}
//double total = cashContext.GetResult(Convert.ToDouble(tbPrice.Text) * Convert.ToDouble(tbCount.Text));
//_total += total;
//rtbList.AppendText("单价:" + tbPrice.Text + " 数量:" + tbCount.Text + " " + cbxType.SelectedItem + " 合计:" + total + "\n");
//lbTotal.Text = _total.ToString();// 版本四:策略模式、简单工厂模式
if (string.IsNullOrEmpty(tbPrice.Text) || string.IsNullOrEmpty(tbCount.Text))
{MessageBox.Show("单价或数量不能为空");return;
}
Strategy.CashContextFactory ccf = new Strategy.CashContextFactory(cbxType.SelectedItem.ToString());
double total = ccf.GetResult(Convert.ToDouble(tbPrice.Text) * Convert.ToDouble(tbCount.Text));
_total += total;
rtbList.AppendText("单价:" + tbPrice.Text + " 数量:" + tbCount.Text + " " + cbxType.SelectedItem + " 合计:" + total + "\n");
lbTotal.Text = _total.ToString();
http://www.dinnco.com/news/26896.html

相关文章:

  • 建设银行包头分行网站新媒体营销推广公司
  • 网站建立的链接不安全怎么解决竞价托管推广公司
  • 怎么给自己的网站做优化公司模板建站
  • 什么网站都有漏洞手把手教你优化网站
  • 聊城专业做网站公司最近一周的新闻热点事件
  • 深圳装修公司口碑排名温州seo顾问
  • 服务器与网站吗5000元做百度推广效果怎么样
  • wordpress 学术 模板南京seo
  • 做外贸网站的价格优化营商环境工作总结
  • 徐州做网站建设的公司网络广告创意
  • 什么软件做网站描述公众号推广
  • wordpress使用手机号登录密码西安seo外包
  • 北京优化靠谱的公司谷歌seo搜索引擎下载
  • 学做日本菜的网站好宣传推广的十种方式
  • 江东外贸seo网站建设alexa
  • 做公司月刊网站网络广告营销的典型案例
  • jsp做物流网站佛山做网站推广的公司
  • 淘客网站做单品类免费的行情网站
  • 上海it培训机构seo网站优化方法
  • 微信菜单怎么做微网站凡科建站模板
  • 免费商城网站建设搜索引擎营销的特点包括
  • 网站底部悬浮代码wordpress百度营销官网
  • 杭州市下城区建设局门户网站营销模式有几种
  • 长沙做网站开发价格多少seo技术中心
  • 美国有网站建设公司吗微信营销的方法有哪些
  • 注册城乡规划师报考条件2022石家庄网站建设seo公司
  • 厦门电子商务网站建设推广普通话宣传语手抄报
  • 黄埔商城网站建设广州seo招聘
  • 惠州网站建设哪里找今日头条重大消息
  • 网站开发设计资讯如何找外包的销售团队