[答疑]​SKU的类图

时间:2022-12-29 12:56:15

SKU的类图

涂文军(20***77) 9:32:16

潘老师,我这SKU的图,给点意见呢,谢谢
涂文军(20***77) 9:32:27
[答疑]​SKU的类图
EliteQ(87***60) 9:36:29
商品和单品,是什么关系
涂文军(20***77) 9:40:25
商品是规格,单品是销售单位
EliteQ(87***60) 9:41:05
举个例子?
EliteQ(87***60) 9:41:21
我不太理解
涂文军(20***77) 9:44:31
比如一个衣服不同的颜色、尺码算不同的商品
涂文军(20***77) 9:45:32
一个款式的衣服,红色S码与红色L码是不同的商品
足球fans(584***682) 9:47:30
不管店铺里有没有单品在卖,商品规格本身都是存在的
摆在店铺里的单品可能会缺货,也可能在打折。。。
EliteQ(87***60) 9:52:39
那单品又怎么理解 @涂文军 
涂文军(20***77) 9:52:57
红色S码 就是单品
EliteQ(87***60) 9:53:12
这不是商品吗?
涂文军(20***77) 9:53:24
同一名称款式算一种商品
EliteQ(87***60) 9:54:03
... 绕晕了,还是不能理解
涂文军(20***77) 9:54:06
库存管理和销售以单品为单位
足球fans(584***682) 10:01:12
我认为: 如果东西没摆到店铺里卖,那还只能称作商品;如果放到店铺里了,那就具有一些状态,比如 是否缺货,是否打折等等。。这些和店铺销售相关的概念是与商品本身无关的。
足球fans(584***682) 10:03:45
颜色、尺码等特征是属于商品本身的
Webb(3134251) 10:06:28
商品VS单品就象类VS实例,可以这么理解吧
涂文军(20***77) 10:08:31
应该更像泛化
涂文军(20***77) 10:08:58
iphone 7 plus 是一种商品
涂文军(20***77) 10:09:36
红色 128G 的 算一种单品
涂文军(20***77) 10:10:12
红色64G,金色128G又分别算一种单品
涂文军(20***77) 10:10:38
记库存、销量这些都是按单品算
EliteQ(87***60) 10:11:22
明白了
涂文军(20***77) 10:11:53
集合的包含
EliteQ(87***60) 10:13:26
那你这个关系图就不对啊,商品和单品之间的关系不是关联,而是泛化了
足球fans(584***682) 10:16:37
"红色、64G" 不是应该算作商品的"颜色、存储空间"这两种特征么?
涂文军(20***77) 10:17:38
销售属性
涂文军(20***77) 10:21:19
不同的商品有不同的销售属性, 有的按颜色,有的按容量,有的按尺码,有的是几种属性组合
足球fans(584***682) 10:33:52
好吧,理解有所不同,听潘老师怎么解答吧 
UMLChina9(1493943028) 10:47:55
@涂文军 改为商品规格 和 商品

涂文军(20***77) 10:51:12
[答疑]​SKU的类图
涂文军(20***77) 10:51:53
有没有SKU的分析模式可供参考?
UMLChina9(1493943028) 10:52:06
严格说,应该是店铺商品。如果是多个店铺(例如淘宝),才需要店铺商品这个概念,因为同样一个商品规格,不同的店铺价格不一样,缺货还是有货也不一样。

涂文军(20***77) 10:53:32
店铺商品,感觉名称不太符合
UMLChina9(1493943028) 10:53:42
@涂文军 物品模式。区分个体的和不区分个体的

涂文军(20***77) 10:53:57
类似京东那种SKU的
UMLChina9(1493943028) 10:54:35
@涂文军 如果只是一家商店,不区分个体,只有数量,则不需要商品类,只要商品规格就够了。

涂文军(20***77) 10:54:47
最后的商品还是一类商品,不是具体的一个
涂文军(20***77) 10:56:10
想复用商品规格
UMLChina9(1493943028) 10:56:50

涂文军(20***77) 10:57:19
比如iphone 7 plus. 有各种属性,CPU多少,尺寸多少;
涂文军(20***77) 10:58:06
但实际售卖时,是分了不同颜色、不同容量的
涂文军(20***77) 11:00:11
红色256G的iphone 7 plus 库存多少,卖价多少这样
UMLChina9(1493943028) 12:36:26
不同颜色不同容量,那就是不同的商品规格了,怎么混为一个呢?

UMLChina9(1493943028) 12:37:16
这些商品规格只不过有些特征值相同而已,颜色容量品牌等等都是特征值,没有什么特别。

涂文军(20***77) 13:21:49
@UMLChina9 是想把那些大量相同,重复出现的一套特征值独立出来
潘加宇(3504847) 14:19:56
你的意思是指,手机内存的量是应该从"32G""256G"里选,不是随便填"2.5688mol"对吧,那应该加一个类"商品类别特征值",放在商品类别特征"和"商品特征"之间。
涂文军(20***77) 14:50:01
我意思把CPU、摄像头这些一样的特征放在这个【商品规格】(比如iphone 7)里,带有颜色、容量这些销售特征放在【商品】(比如红色iphone7)里
京王明云(234**97) 14:51:51
以前看过一点SKU相关的概念。感觉,商品、单品是做网店或者供销存系统常见的概念,系统里不用这样的名称,对于熟悉这些既有名词的人反而不习惯了。
商品有一组属性,例如颜色、内存大小等,这些属性有不同值。这一组属性全部确定,就是单品。例如iphone7plus是商品,然后有机壳颜色、内存大小两个属性值。这两个值完全确定后,就是单品。
京王明云(234**97) 14:52:55
某些属性是在卖的时候可以让顾客选的,例如内存大小、颜色;有的属性是不给顾客选的,例如CPU型号。
京王明云(234**97) 14:54:28
把让顾客选的那些属性,归纳到商品规格这个属性集合里就可以。其他的可以只作为商品的信息,不作为属性都行,看可能的变化情况了。
潘加宇(3504847) 14:54:47
商品规格就是确切的规格,个体上是不再分辨的。iphone7,红色iphone7都不是的
潘加宇(3504847) 14:55:22
按照之前教的建模就行了
潘加宇(3504847) 14:55:31
完全可以满足各种要求
潘加宇(3504847) 14:58:13
@kenshin! 都可以选的,顾客说想要**CPU的手机,看看有哪些品牌型号可以挑,这和合理啊

潘加宇(3504847) 14:58:54
搞那么复杂,是因为对那几个类的含义没有真正弄清楚啊
潘加宇(3504847) 14:59:06
再认真思考一下

京王明云(234**97) 15:01:32
潘老师说的这个商品概念范围更大。我这里说的商品,对潘老师说的概念来说,相当于是指的一个商品实例,例如iphone7plus,不是商品"类"
潘加宇(3504847) 15:03:12
iphone7plus--商品类别
潘加宇(3504847) 15:04:00
某一种卖的iphone7plus型号,同一商家,价格一样的才是商品规格

潘加宇(3504847) 15:05:10
[答疑]​SKU的类图
涂文军(20***77) 15:06:31
你意思把iphone 7 plus 这种也做为物品类别?
涂文军(20***77) 15:07:09
手机这个类别的子类别这样?
京王明云(234**97) 15:16:28
对着这个图的理解,iphone7plus是一个具体的物品类别(物品类别的实例)。那么对于最初的问题,一个"商品"就是物品类别的一个实例,它所关联的其他三个类,具体值给定后(实例化并固定),就是一个SKU。
潘加宇(3504847) 15:19:03
SKU是物品规格,针对它只关心数量,不区分个体的区别了。10听350ml的可口可乐,每一听是不区分的。
潘加宇(3504847) 15:19:22
@涂文军 对,类别的递归关联就在这里

足球fans(584***682) 15:19:22
你所指的"实例",可能已经是某一物品规格的实例了
足球fans(584***682) 15:19:34
@kenshin! 
京王明云(234**97) 15:19:47

足球fans(584***682) 15:20:17
不算 物品类别的实例
涂文军(20***77) 15:21:29
@umlchina1 那要体现iphone 7 plus这个类别的公共属性(比如CPU、摄像头这些)是不是要再加个什么来体现?
足球fans(584***682) 15:22:00
如果一种物品类别只对应唯一一种规格,那么这里就不需要抽象出物品规格,那么商品就直接与物品类别关联,也就是物品类别的实例了。
京王明云(234**97) 15:22:46
按照那个图,一个物品类别,可以对应多个物品规格的。
足球fans(584***682) 15:22:54
是这样
涂文军(20***77) 15:52:33
@umlchina1 可以给类别特征加默认值来体现iphone7plus的基本属性,对吧
涂文军(20***77) 16:02:09
[答疑]​SKU的类图
涂文军(20***77) 10:02:39
@umlchina1 我觉得这样可能更合适一些:
涂文军(20***77) 10:02:46
[答疑]​SKU的类图
潘加宇(3504847) 7:39:53
类别-类别特征已经涵盖了你说的这些
潘加宇(3504847) 7:47:46
iPhone7 Plus也只是特征--"品牌","型号",和其它特征没有什么区别。
我要买iPhone7 Plus,对应的是一个规格集合:A1661 A1785 A1784。。。。
我要买摄像头1200万以上的,对应的是也一个规格集合:。。。。
潘加宇(3504847) 7:48:54
库存怎么还有价格,这个概念有问题,你说的可能就是我之前说的店铺商品

潘加宇(3504847) 7:51:08
[答疑]​SKU的类图
涂文军(20***77) 8:03:33
如果iphone7是类别,那它的公共属性是不是会在商品规格特征里重复出现很多次?
涂文军(20***77) 8:06:04
我那个库存商品也是参考店铺商品来的,你那个是按店铺分,我这个按库存最小单位分
潘加宇(3504847) 9:14:54
属性就是属性,没有"公共属性"
你说一个具体的问题吧,要表达一个什么内容,觉得之前的模型表达不了

涂文军(20***77) 9:18:27
比如iphone7 作为类别,那么有CPU、分辨率、颜色等这些类别特征,然后红色iphone7 作为商品规格,有CPU、分辨率这些特征,金色iphone7 作为商品规格,也有同样值的CPU、分辨率这些特征,这样iphone7的公共特征会重复出现很多次
潘加宇(3504847) 9:20:15
类别有自反关联关系,上级类别的特征不需要重复的

涂文军(20***77) 9:27:14
是到商品规格这边
涂文军(20***77) 9:28:32
红色iphone7 CPU多少, 绿色iphone7 CPU多少, 实际这个值是一样的,这样重复的值感觉会太多
追风老虎(22641623) 9:34:36
红色,绿色也是iphone7的一个属性
潘加宇(3504847) 9:35:47
这不叫重复,能从其他属性推理的才是重复。iphone7或红色不能推理出CPU的值,只能靠填属性值,填多少就是多少。
就像一个公司的人,好几个身高1.75米,那不叫重复,除非能建模身高背后的机理,就可以取消掉。
计算机实际上算的是不能算的东西。x=1,x平方等于多少,计算就可以,如果保留两个就是重复。一个人叫张大宝,请问他儿子叫什么?这个算不出来,都要保留的。

涂文军(20***77) 9:48:14
[答疑]​SKU的类图
涂文军(20***77) 9:48:21
我意思这样的重复
EliteQ(87***60) 9:50:21
@涂文军 你这样设计是没有意义的, 你想你得设计出来多少个类?
EliteQ(87***60) 9:50:49
华为mate8也来一个类么? 苹果6也来一个类么?
涂文军(20***77) 9:51:10
这个是对象图?
EliteQ(87***60) 9:51:32
对象难道不是类的实例化么
EliteQ(87***60) 9:51:48
classe Iphone7
{
public static string CPU = 'A10';
protected string color;
public string Color
{
get{}
set{} 
}
}
EliteQ(87***60) 9:52:29
class 个性化IP7 : Iphone7
{
public 个性化IP7(string color)
{baes.color = color;}
}
无处可逃(1098***075) 9:52:33
一个商品类下面,组合一些列的属性类,不能满足这个要求吗?
无处可逃(1098***075) 9:52:47
一系列
EliteQ(87***60) 9:53:25
你要这么设计,程序员没法玩了
无处可逃(1098***075) 9:53:54
有哪个属性,就往商品类里加进哪个属性类的实例
无处可逃(1098***075) 9:54:54
查找时,从商品实例里面查找相应的属性,应该可以找出满足要求的商品
涂文军(20***77) 9:54:59
你理清了对象和类的概念再来说吧
EliteQ(87***60) 9:55:23
你列出你这样设计的代码来呀。
EliteQ(87***60) 9:56:02
设计不谈类,有意义?
EliteQ(87***60) 9:56:12
对象不是单独存在的
涂文军(20***77) 9:57:05
类是商品类别,对象是iphone 7. 类是商品类别特征,对象是CPU、颜色这些
涂文军(20***77) 9:57:37
我只是画个对象图,让潘老师了解我担心的问题在哪里
无处可逃(1098***075) 9:57:38
cpu、颜色可以看作商品的属性吗?
涂文军(20***77) 9:58:20
cpu 颜色是【商品类别特征】的一种
无处可逃(1098***075) 9:59:09
都是属性,再多也没关系。我说的方法可以满足你项目的要求吗?
无处可逃(1098***075) 10:01:23
一个商品类下面,组合一系列的属性类
涂文军(20***77) 10:01:38
是这样设计的
涂文军(20***77) 10:03:20
都可以满足项目,只是研究一下哪样更好
涂文军(20***77) 10:07:01
@umlchina1 iphone7能确定CPU的值是多少,只是管理上红色的和金色的是有库存及价格区分的
无处可逃(1098***075) 10:07:24
商品类可大可小,大的可以把电器都作为一类商品,小一点也可以把手机、电视、冰箱、洗衣机都当作商品类。这个和系统的整体设计有很大关系。
UMLChina9(1493943028) 10:27:05
我回头传一个有数据的数据库文件

涂文军(20***77) 10:29:17
好的
潘加宇(3504847) 19:48:17
[答疑]​SKU的类图
潘加宇(3504847) 19:51:34
我传了一个SQL Server备份文件到群文件,可以还原看看。建立该物品规格记录时,保证物品规格特征覆盖他所属物品类别的物品类别特征以及每一级上级类别特征即可

涂文军(20***77) 22:01:13
谢谢,我先看看,好久没用sql server了 
潘加宇(3504847) 20:59:41
我把数据库内容截图吧

[答疑]​SKU的类图
[答疑]​SKU的类图
[答疑]​SKU的类图
[答疑]​SKU的类图
涂文军(20***77) 21:10:26
那或者我这样来问,比如上京东,搜iphone 7来看,它那种sku的表达方式,点不同颜色会跳另外一sku,是否需要在那个物品模式上做一些调整?
潘加宇(3504847) 21:11:37
输入输出的方式怎么会影响领域模型嘛

涂文军(20***77) 21:12:55
也是,那个模型确实也可以表达
涂文军(20***77) 21:16:17
我再多实际用用看,谢谢潘老师哈