商场收银改进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 端用户的粘性。
相关文章
- C#-Web服务器
- 推荐.Net、C# 逆向反编译四大工具利器(请勿用来非法行为)
- C# Read/Write another Process' Memory
- Jquery如何序列化form表单数据为JSON对象 C# ADO.NET中设置Like模糊查询的参数 从客户端出现小于等于公式符号引发检测到有潜在危险的Request.Form 值 jquery调用iframe里面的方法 Js根据Ip地址自动判断是哪个城市 【我们一起写框架】MVVM的WPF框架(三)—数据控件 设计模式之简单工厂模式(C#语言描述)
- ASP.NET MVC WebApi 返回数据类型序列化控制(json,xml) 用javascript在客户端删除某一个cookie键值对 input点击链接另一个页面,各种操作。 C# 往线程里传参数的方法总结 TCP/IP 协议 用C#+Selenium+ChromeDriver 生成我的咕咚跑步路线地图 (转)值得学习百度开源70+项目
- 为什么说JAVA中要慎重使用继承 C# 语言历史版本特性(C# 1.0到C# 8.0汇总) SQL Server事务 事务日志 SQL Server 锁详解 软件架构之 23种设计模式 Oracle与Sqlserver:Order by NULL值介绍 asp.net MVC漏油配置总结
- C#字符串数组排序 C#排序算法大全 C#字符串比较方法 一个.NET通用JSON解析/构建类的实现(c#) C#处理Json文件 asp.net使用Jquery+iframe传值问题
- 用C# (.NET Core) 实现抽象工厂设计模式
- 使用 C#/.NET Core 实现单体设计模式
- .NET C#生成随机颜色,可以控制亮度,生成暗色或者亮色 基于YUV模式判断颜色明亮度
- C#,K-均值(K-Means)聚类算法的核心源代码
- 《C#多线程编程实战(原书第2版)》——第1章 线 程 基 础 1.1 简介
- 《C#多线程编程实战(原书第2版)》——第2章 线 程 同 步 2.1 简介
- C# 常用算法 遍试
- C# 在异步线程操作类的变量
- c# Bitmap byte[] Stream 文件相互转换
- 《C#零基础入门之百识百例》(五十四)派生类的介绍和使用 -- 等差数列
- C#设计模式 之 原型模式
- C# == 和 Equals
- sqlserver C# 数据类型对照表(转载)
- C# 对象哈希码
- C#如何控制方法的执行时间,超时则强制退出方法执行