【经典示例分享】— 商城购物车设计(VS+Access)附源码
2012-11-02 11:21
471 查看
弹指一挥间,从事开发工作两年多了,工作记录文件夹不知不觉好几G了。今天分享下之前项目中用到的一个购物车示例,虽然用的技术比较老(拖放控件DataGview),我觉得里面包含了很多可以细细咀嚼的面向对象思想,尤其是商品和购物车各个对象的从属关系。购物车老生常谈的东西,希望能起到抛砖引玉的效果。下面就简单介绍下吧!(via:女孩礼物网)
此款短小精悍的购物车主要有三大功能:1.折扣方案调整 2.商品列表 3.购物车
ShopCartSet.cs
源码下载
此款短小精悍的购物车主要有三大功能:1.折扣方案调整 2.商品列表 3.购物车
ShopCartSet.cs
using System; using System.Collections.Generic; using System.Linq; using System.Web; [Serializable] public class ShopCartSet : IEnumerable<ShopCartItem> { private Dictionary<int, ShopCartItem> items; public ShopCartSet() { this.items = new Dictionary<int, ShopCartItem>(); } /// <summary> /// 各项总原价 /// </summary> public decimal TotalPrice { get { decimal price = (decimal)0; foreach (ShopCartItem item in this) { price = price + item.TotalPrice; } return price; } } /// <summary> /// 各项总折后价 /// </summary> public decimal Price { get { decimal price = (decimal)0; foreach (ShopCartItem item in this) { price = price + item.Price; } return price; } } public ShopCartItem this[int id] { get { return this.items[id]; } set { this.items[id] = value; } } public void Add(Product product, int count) { this.Add(new ShopCartItem(product, count)); } public void Add(ShopCartItem item) { if (!this.items.ContainsKey(item.Product.Id)) { this.items.Add(item.Product.Id, item); } else { this.items[item.Product.Id].Count++; } } public void Remove(int key) { this.items.Remove(key); } public void Remove(Product product) { this.items.Remove(product.Id); } public void Remove(ShopCartItem shopCartItem) { this.items.Remove(shopCartItem.Product.Id); } #region 接口实现 public IEnumerator<ShopCartItem> GetEnumerator() { return this.items.Values.GetEnumerator(); } System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() { return this.items.Values.GetEnumerator(); } #endregion }
源码下载
相关文章推荐
- php网上商城购物车设计代码分享
- php网上商城购物车设计代码分享
- php网上商城购物车设计代码分享
- Java_io体系之RandomAccessFile简介、走进源码及示例——20
- 经典案例分享:20个创新的用户界面设计
- Java_io体系之RandomAccessFile简介、走进源码及示例——20
- JDK中有关23个经典设计模式的示例
- 干货分享!悬浮按钮设计规范和经典实践
- 从零开始学android实现计算器功能示例分享(计算器源码)
- 经典信息图表:2013 扁平设计 VS 拟物设计
- Java jsp 人力资源管理系统,飞机票网上订购系统,快递管理系统毕业设计论文+成套源码 免费分享
- 经典网站设计:10个独具创意的网站头部设计示例
- JDK中有关23个经典设计模式的示例
- 经典网站设计:10个独具创意的网站头部设计示例
- 类似818tu.c微信小说分销系统设计之多公众号网页授权自动登录源码分享
- Gis分析POI空间聚合设计思路及示例实现源码
- java设计模式之实现对象池模式示例分享
- JavaScript版经典游戏之扫雷游戏完整示例【附demo源码下载】
- JAVA WEB项目在微信浏览器下实现自定义分享源码示例
- JDK中有关23个经典设计模式的示例