zl程序教程

您现在的位置是:首页 >  后端

当前栏目

商场收银改进C#版--融合了工厂和策略设计模式

c#设计模式 -- 策略 融合 工厂 改进
2023-09-27 14:28:45 时间

看了书之后,慢慢领略高手的思想吧。

主要还是对类,对象,实例,多态之类的不太熟悉。

有信心慢慢练习中。。。

 1 double total = 0.0d;

 2 private void MainFormLoad(object sender, EventArgs e)

 4 cbxType.Items.AddRange(new object[] {"正常收费","满300返100","打8折"});

 5 cbxType.SelectedIndex = 0;

 8 void Button1Click(object sender, System.EventArgs e)

10 CashContext cc = new CashContext(cbxType.SelectedItem.ToString());

11 double totalPrices = 0d;

12 totalPrices = cc.GetResult(Convert.ToDouble(txtPrice.Text)

13 * Convert.ToDouble(txtNum.Text));

14 total = total + totalPrices;

15 lbxList.Items.Add("单价: " + txtPrice.Text + " 数量: " + txtNum.Text + " " 

16 + cbxType.SelectedItem + " 合计: " + totalPrices.ToString());

17 lblResult.Text = total.ToString();

20 void Button2Click(object sender, EventArgs e)

22 txtPrice.Text = Convert.ToString(0.00);

23 txtNum.Text = Convert.ToString(0);

24 lblResult.Text = Convert.ToString(0.00);

25 lbxList.Items.Clear();

26 cbxType.SelectedIndex = 0;

31 abstract class CashSuper

33 public abstract double acceptCash(double money);

35 class CashNormal : CashSuper

37 public override double acceptCash(double money)

39 return money;

42 class CashRebate : CashSuper

44 private double moneyRebate = 1d;

45 public CashRebate(string moneyRebate)

47 this.moneyRebate = double.Parse(moneyRebate);

49 public override double acceptCash(double money)

51 return money * moneyRebate;

54 class CashReturn : CashSuper

56 private double moneyCondition = 0.0d;

57 private double moneyReturn = 0.0d;

58 public CashReturn(string moneyCondition, string moneyReturn)

60 this.moneyCondition = double.Parse(moneyCondition);

61 this.moneyReturn = double.Parse(moneyReturn);

63 public override double acceptCash(double money)

65 double result = money;

66 if(money = moneyCondition)

67 result = money - Math.Floor(money / moneyCondition) * moneyReturn;

69 return result;

73 class CashContext

75 CashSuper cs = null;

77 public CashContext(string type)

79 switch (type)

81 case "正常收费":

82 CashNormal cs0= new CashNormal();

83 cs = cs0;

84 break;

85 case "满300返100":

86 CashReturn cr1 = new CashReturn("300", "100");

87 cs = cr1;

88 break;

89 case "打8折":

90 CashRebate cr2 = new CashRebate("0.8");

91 cs = cr2;

92 break;

95 public double GetResult(double money)

97 return cs.acceptCash(money);

99 }

输出:


数智洞察|解锁老板电器制胜1%:“黑灯工厂”挺起中国智造 编者按: 前不久,在10月19日“云栖大会--智物 · 智造峰会”现场,成立距今已42年的老板电器,获得了由阿里云与钛媒体共同颁发的:全球最具影响力、前瞻性的科技产品“评委会大奖”。
一家中国“老牌子”,是如何跨越企业生命周期,从被迫追赶数字化浪潮,到引领全球智能制造的?这篇文章,应该能让你初窥端倪,有所启发。
运用“互联网+物流”网络货运平台开启智慧物流新模式 公路运输作为除铁路运输以外唯一的钢材运输方式,在河钢集团宣钢公司的生产经营中起着十分重要的作用。其运输网密度大、分布广、适应性强,车辆无需中途倒运,可以直接送货到门,能够为客户提供“门到门,户到户”服务。作为“物流运输大动脉”的物流公司,担负着宣钢所有钢材的储备外发任务,每天进出入调配中心的业务办理人员多达数十人,且每天的提货单消耗量在数百张以上,在纸张的消耗上浪费了很大的成本。如何节省装车,运输,卸货等环节的作业时间,是提高物流运输质量的重要保证。因此,特大胆提出运用智能化平台改善纸张浪费,节约运输成本预想。
解决方案应用实例 |阿里云x老板电器,打造行业首个无人工厂 简介: 2020年,老板电器联合阿里云实现了对智能制造基地全面改造升级,以数字化、网络化、智能化改造为主线,推进5G、云计算、AI等技术在制造业的应用,累计投入近5亿元,建成占地面积约50000平方米的行业首个无人工厂。在新制造技术和模式转型时期,老板电器联合阿里云成功打造了以九天中枢智能平台为核心,聚焦用户与产品,打造行业智能制造标杆。客户简介老板电器专业研发生产吸油烟机、蒸箱、燃气灶、消毒柜、
直播带货走进制造业,冲击工厂传统供应链模式 2020年,受到疫情的影响,线下实体交易大幅下降,以短视频或者直播带货为代表的线上交易则迎来爆发。此时,深陷市场饱和和价格战困扰的传统制造业企业也找到了新出路,通过网红直播带货来提升销量的同时,革新供应链模式,降低运营成本,提升企业盈利能力。
餐饮供应链公司“鲜沐农场”获千万级Pre-A轮融资,未来要打造一站式采购平台 鲜沐的模式是通过服务休闲餐饮的B端商家,从水果这个品类切入,抓住核心的十几种水果,向上游改造供应链,同时开放平台引入其他品牌,做一站式平台,提高下游 B 端用户的粘性。