电子商务之Common类库分析(三)

本文解析电子商务系统中Common类库的各个实体类,包括购物车、产品、订单等,介绍了这些类如何简化数据操作并封装业务逻辑。

电子商务之Common类库分析(三)

首先介绍下公共对象类库下的公共对象类

这些对象的作用就是简化数据传递操作,因为它们能够包含数据,并且为该信息提供统一的封装方法。

ShoppingCartEntity(购物车)


usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;

namespaceShop.Common
{
publicclassShoppingCartEntity
{
publicintShoppingCartID{set;get;}
publicstringCartGUID{set;get;}
publicintQuantity{set;get;}
publicintProductID{set;get;}
publicDateTimeDateCreated{set;get;}
}
}

ProductEntity类


usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;

namespaceShop.Common
{
publicclassProductEntity
{
publicintProductID{set;get;}
publicintProductCategoryID{set;get;}
publicProductCategoryEntityProductCategory{set;get;}
publicstringProductName{set;get;}
publicstringProductImageName{set;get;}
publicstringProductDescription{set;get;}
publicintQuantity{set;get;}
publicDecimalProductPrice{set;get;}
publicProductEntity()
{
this.ProductCategory=newProductCategoryEntity();
}
}
}

ProductCategoryEntity(产品种类)


usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;

namespaceShop.Common
{
publicclassProductCategoryEntity
{
publicintProductCategoryID{set;get;}
publicstringProductCategoryName{set;get;}
}
}

OrdersEntity(订单)


usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;

namespaceShop.Common
{
publicclassOrdersEntity
{
publicintOrderID{set;get;}
publicintEndUserID{set;get;}
publicEndUserEntityEndUser{set;get;}
publicstringTransactionID{set;get;}
publicDateTimeOrderDate{set;get;}
publicAddressEntityShippingAddress{set;get;}
publicintOrderStatusID{set;get;}
publicDecimalShippingTotal{set;get;}
publicOrderDetailsEntityOrderDetails{set;get;}
publicDecimalSubTotal{set;get;}
publicDecimalOrderTotal{set;get;}
publicDecimalTax{set;get;}
publicCreditCardEntityCreditCard{set;get;}
publicDateTimeShipDate{set;get;}
publicstringTrackingNumber{set;get;}
publicOrdersEntity()
{
this.EndUser=newEndUserEntity();
this.ShippingAddress=newAddressEntity();
this.CreditCard=newCreditCardEntity();
this.OrderDetails=newOrderDetailsEntity();
}
}
}

OrderDetailsEntity(详细订单)


usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;

namespaceShop.Common
{
publicclassOrderDetailsEntity
{
publicintOrderDetailID{set;get;}
publicintOrderID{set;get;}
publicintProductID{set;get;}
publicProductEntity[]Products{set;get;}
publicintQuantity{set;get;}
}
}

Enums类(用户类别)


usingSystem;
usingSystem.Collections.Generic;
usingSystem.Text;

namespaceShop.Common
{
publicclassEnums
{
publicenumEndUserType
{
CUSTOMER
=1,
ADMINISTRATOR
=2
}
}
}

EndUserTypeEntity类(用户类别)


usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;

namespaceShop.Common
{
publicclassEndUserTypeEntity
{
publicintEndUserTypeID{set;get;}
publicstringEndUserName{set;get;}
}
}

EndUserEntity(用户)


usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;

namespaceShop.Common
{
///<summary>
///用户实体类
///</summary>
publicclassEndUserEntity
{
publicintEndUserID{get;set;}
publicintEndUserTypeID{set;get;}
publicstringUserName{set;get;}
publicAddressEntityUserAddress{set;get;}
publicintAddressID{set;get;}
publicContactInformationEntityUserContactInformation{set;get;}
publicintContactInformationID{set;get;}
publicstringPassword{set;get;}
publicboolIsSubscribed{set;get;}
publicEndUserEntity()
{
this.UserAddress=newAddressEntity();
this.UserContactInformation=newContactInformationEntity();
}
}
}

CreditCardEntity类(信用卡)


usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;

namespaceShop.Common
{
publicclassCreditCardEntity
{
publicAddressEntityAddress{set;get;}
publicstringCardType{set;get;}
publicintExpMonth{set;get;}
publicintExpYear{set;get;}
publicstringNumber{set;get;}
publicstringSecurityCode{set;get;}
}
}

ContactInformationEntity类 (联系信息)


usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;

namespaceShop.Common
{
publicclassContactInformationEntity
{
publicintContactInformationID{set;get;}
publicstringPhone{set;get;}
publicstringPhone2{set;get;}
publicstringFax{set;get;}
publicstringEmail{set;get;}
}
}

AddressEntity类 (用户地址信息)


usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;

namespaceShop.Common
{
publicclassCreditCardEntity
{
publicAddressEntityAddress{set;get;}
publicstringCardType{set;get;}
publicintExpMonth{set;get;}
publicintExpYear{set;get;}
publicstringNumber{set;get;}
publicstringSecurityCode{set;get;}
publicCreditCardEntity()
{
this.Address=newAddressEntity();
}
}
}

从上看出基本上一张数据库表对应一个公共对象类,相信大家一扫都能明白。

以前做法就是编写一个公共对象类紧接着将它和对数据库操作的类放在一起的,不像这个系统放在一起,另外我也是不会在公共对象类中使用另外一种公共数据类型的,你看这里EndUserEntity类引用了AddressEntity类和ContactInformationEntity类(这样还要注意编写构造函数,这里的类不是静态的所以要记得new一个,在构造函数中完成它),要是以前设计是不会放进去的,我会分别构造这三个类。我觉得这样只用一个类就涵盖了所有的数据很方便,但是数据类型很复杂,如果考虑到在客户端调用webservice存储数据肯定就复杂了,不知道json能不能传这样的复杂数据。反正这样设计可能使设计思路更清晰,代码简洁了。可以在这个类库下多加几个文件,一个文件中放入一个系统模块所需要的公共对象类,我想在扩展时候,思路更清晰了。

上面有一个地方要注意一下就是smallmoney数据类型在数据对象变为Decima,以前会用double.不知道Decima会不会比double好?

不知道大家的设计思路是怎样的,我希望大家说出自己的设计的思路,大家共同学习嘛,也希望高人指点。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值