??xml version="1.0" encoding="utf-8" standalone="yes"?>
唯心(j)在以后学?fn)、研IO2O的过E中Q有新的知识点也?x)更新此图,不断完善?nbsp; 阅读全文
]]>
]]>
该博客是自主开发,功能和内容均在逐步增加中。所有文章均是原创?br />
对于?sh)子商务销售的q义商品主要分ؓ(f)两种Q?/span>1、无形商品和服务的电(sh)子商务;有Ş商品和服务的?sh)子商务?/span>
无Ş商品和服务一般包括:(x)
1Q在U订阅。分为免费订阅和收费订阅Q?/span>
2Q特D信息收Ҏ(gu)式。一般分为免费信息和Ҏ(gu)信息Q用下载方式提供;
3Q在U服务。每月收取固定的费用Qؓ(f)消费者提供各U在U服务的方式Q比?/span>QQ?x)员Q邮包月,杀毒包月等Q?/span>
4Q在U娱乐。包括网l游戏的按月、按时收费等?/span>
有Ş商品和服务一般表Cؓ(f)|上销售?/p>
二、品抽象设?/p>
产品目录?qing)品h(hun)g在本文讨围内?/p>
Ҏ(gu)需求,具体到实际类型的各种“商品”有很多种cdQ其属性差异很大,所以在设计上考虑C后的扩展性,商品设计成为承的方式?/p>
如上图所C。设计一个抽象类ProductQ放|商品的公共属性(部分Q,左边为有形商品,命名?br /> SalesProductQ有形商品包含高度、宽度、长度和重量{无形商品不具备的属性;双为无形商品,包括在线订阅、在U服务,信息下蝲{?/span>
所有关p都是泛化关p,一对一?/p>
对于一般的|上商城的设计,只需设计SalesProduct卛_Q但对于?sh)子商务产品而言Q则需要考虑以后?/span>
扩展性?/p>
׃产品的抽象,所以在对品的创徏考虑使用工厂模式?/p>
public class ProductFactory {
private static ProductFactory productFactory=null;
private ProductFactory(){}
public ProductFactory getInstance(){
if(productFactory==null){
productFactory =new ProductFactory();
}
return productFactory;
}
public Product makeProduct(Integer productType){
//Ҏ(gu)产品cdq回相应的?/p>
return null;
}
}
OK。下一步让我们l箋(hu)分析SalesProduct更加具体的内宏V?/span>
三、品详l设?/p>
下图?/span>www.joyo.com的媄(jing)视品详l页面,׃比较长,所以我只脓(chung)出第一,详细可见下面链接Q?/span>
图中用红色圈圈圈住的部分分别Z品标题、演?/span>&导演、h(hun)格区、送货方式、用戯分(一U?/span>C2B方式Q、促(j)销推荐、描qͼ?qing)其它属性)(j)?/span>
q有不在图中的信息有Q内容介l、购买此商品的顾客也购买?jin)、查看此商品的顾客也查看?jin)、品参数、本片的主要演员的其它作品、常见问题、用戯论、?zhn)可以用以下几U方式找到此商品?/p>
噢!内容太多?jin)。怎么着手呢Q?/p>
我们分析的思\应该考虑那些是品本w的属性、那些是关系密切的外部实体,那些是关p较松散的外部实体?/p>
l过分析的内容分cd下:(x)
(zhn)也怼(x)奇怪,我ؓ(f)什么始l都没有h(hun)格放入到产品本n呢?因ؓ(f)q(sh)子商务的销售而言Qh(hun)格是变化很频J、而且同一个商品会(x)有多Uh(hun)|?x)员{Q、ƈ和各U的?j)销形式、进货h(hun)格等挂钩。所以如果直接做Z品的自有属性将大大降低?jin)灵zL,D很多业务都无法实玎ͼ或者很困难Q?/p>
考虑到篇q和重点。本文只讨论产品本n的属性设计?/p>
对于一个商城而言Q品种cd多,各类产品的相兛_性各U各P如电(sh)׃(x)涉及(qing)到演?/span>&导演、一些特定的产品参数Q如视频格式、音频格式等?/span>
而有一些属性则是所有品都共有的,比如产品标题、描q、内容介l等?/p>
所以在设计上需要考虑到这两类属性的区别?/p>
我将之区分ؓ(f)公共属性和自定义属性?/p>
公共属性将攑օSalesProduct表,自定义属性则设计如下Q?/span>
设计考虑Q所?/span>Attribute都必L一个或者多?/span>OptionsQ否则状态ؓ(f)不可用)(j)Q每?/span>
Option都有cd、倹{名U和是否~省{属性。品只?x)指?/span>OptionQ关pL多对多?/span>
q样Q我们就可以增加演员Attribute?/span>
Q演员在p理pȝ中是实体Q在?sh)子商务销售系l则只是一个值对象了(jin)Q?/p>
在演?/span>Attribute下增加梁朝伟、徐?rn)蕾{演员(OptionQ?/span>
然后伤城这个品和?/span>Optionq行兌?/span>
产品参数{属性类伹{?/p>
但是Q我们也发现Q对于自定义属性而言Q有些属性是比较重要的,有些是不重要的?/p>
比如演员Q不单是攑֜标题?sh)这个醒目的地方Q而且q有业务挖掘——本片的主要演员的其它作品?/p>
所以,需要对自定义属性进行进一步的配置。但是这׃属于自定义属性本w的范畴?jin)?/p>
我们会(x)另行设计一个实体来表达q种业务?/p>
【{载请注明出处Q?/p>
W者对J2EE相关技术及(qing)?sh)子商务斚w有所研究Q欢q进行交?/span>
QQQ?6399476
MSNQ?/span>yanchaomin@hotmail.com
W二章:(x)购物车业务徏模?/p>
W者在本文中将?x)采?/span> UML 对购物Rq行建模?/span>
对于我们的例子,涉及(qing)参与者( Actor Q是֮Q业务实体则?/span> MiniCart ?/span> Shopping Cart ?/span>
1 、术语解释?/span>
购物?/span> /ShoppingCart Q模拟现实的购物车,存放֮选购的商品?/span>
购物车元?/span> /ShoppingCartItem Q表C每个加入购物R的商品, 1 个购物R元素对应一个商品?/span>
q你?/span> /MiniCart Q购物R的微~版Q只昄最后(或者近几个Q加入购物R商品Q会(x)附加一些促(j)销的信息?/span>
2 、用例( Use Case Q?/span>
用例Q?/span> Use Case Q是֮对购物Rq行直接操作的事件?/span>
l过分析Q得出的用例如下图:(x)
3 、业务实体?/span>
描述如下Q?/p>
1 Q?/span> ShoppingCart ?/span> ShoppingCartItem 是聚合关p,?/span> ShoppingCartItem 生命周期依赖?/span> ShoppingCart Q?/span>
2 Q?/span> MiniCart 和和 ShoppingCartItem 是组合关p,一?/span> MiniCart 可以呈现多个 ShoppingCartItem Q?/span>
ShoppingCartItem 生命周期?/span> MiniCart 没有直接关系Q?/span>
3 Q?/span> MiniCart ?/span> ShoppingCart 有依赖关p,如果q没有ؓ(f)֮分配 ShoppingCart Q则 MiniCart 也ؓ(f)I?/span>
4 、时序图?/span>
描述֮和购物R之间的交互关p,q表q对象之间的旉序可以用时序图表达Q但限于幅Q?/p>
W者只对其中的【将商品加入购物车】进行设计?/p>
4.1 基本如下:(x)
程描述如下Q?/p>
֮ 服务?/span>
1 Q查看商品;
2 Q将商品加入购物车;
3 Q购物R模块判断可以加入Q?/span>
4 Q将该商品加入购物RQ?/span>
5 Q调用其它接口对购物车进行处理(如计Ҏ(gu)口)(j)Q?/span>
6 Q调?/span> MiniCart 接口l装q回数据Q?/span>
7 Q呈?/span> MiniCart 面Q?/span>
8 Q查?/span> MiniCart 面?/span>
4.2 扩展如下:(x)
1 Q?/span> Add to cart Ӟ通过购买验证Q发现顾客等U不以购买当前商品Q则q回提示信息Q流E结束?/span>
2 Q另外还有其它的扩展,比如库存?sh){,׃很相|所以在本文׃d?jin)?/span>
5 、其它?/span>
下图表达?jin)一个顾客进入网站后选购商品——结帐的zdq程概述?/p>
其中?/span> Add to cart 的子程做了(jin)描述Q结帐流E不在本文描q范围?/span>
下一将q行实体和接口的具体设计Q请x(chng)?/p>
【{载请注明出处Q?/p>
QQQ?6399476
MSN Q?/span> yanchaomin @hotmail.com
www
Q?span lang="EN-US">,当当Q?span lang="EN-US">www.dangdang.comQ,
国外的则比较多,主要有亚马逊书店(www.amazon.comQ,GAPQ?span lang="EN-US">www.gap.comQ,
www.target.com
www
MiniCart
ShoppingCart
MiniCart 3
MiniCart
MiniCart
1?span lang="EN-US">
MiniCart
www
.gap.com
独创Q笔者浏览过国内外各大电(sh)子商务品及(qing)|站Q暂时只是发?/span>
GAP
读者请注意我用U色圈住的地方,是它的
MiniCart
[Add
]
MiniCart
A
+B
节?span lang="EN-US">n%{)(j)Q将在第二部分显C相关的推荐?span lang="EN-US">
ShoppingCart
Amazon
见图中红色圈圈?span lang="EN-US">
1
2
3
4
5
Buy
Now
?span lang="EN-US">Buy Later两个取?zhn)Q?span lang="EN-US">
(1…n)
Save
for later
Q?span lang="EN-US">Joyo描述为收藏)(j)Q?span lang="EN-US">1...nQ;
Move to cart
Ud购物车(?span lang="EN-US">Save for later的商品)(j)Q?span lang="EN-US">1…nQ?span lang="EN-US">
Also
buy
{等?span lang="EN-US">
【{载请注明出处Q?br />
J
2EE
相关技术及(qing)?sh)子商务斚w有所研究Q欢q进行交?br />
QQQ?6399476
MSN
yanchaomin