电商实战篇:商品模型分析与设计(超级实用)

bigdata 2018-04-23 15:19:21 ⋅ 1817 阅读


前言

最近在设计电商平台,那么在整个电商系统中商品模型是非常重要的模块,也可以说是整个电商的核心,那么接下来我们一起分析一下,设计一个基础的商品模型(也参考了网上其他前辈的设计思路)。

商品模型的演变

商品模型(一)

商品在整个电商平台中具备了独特的业务属性。现在很多电商网站上左侧的菜单栏,也就是如下图所示这个分类:



右侧为商品主表,也可以看做电商平台的商品库,拥有商品的基本属性,销量、是否热门、是否新品等可以对商品做一下基础的分类标签,
那么左边的分类表就可以对商品做初步的 父分类和子分类的分析。


商品模型(二)

接着会发现一个问题,只有分类并不能适应所有的需求,比如nike品牌鞋和nikeT恤,用户可能希望先看nike品牌的所有商品,这个模型就不能满足。我们想在这个关系中,加入“品牌”概念。于是:


如上图所示我们增加了品牌的模型进去, 用户可以在首页上通过分类或者品牌找到自己想要的商品,也可以直接查看热门的商品和新上架的商品。
商品模型(三)

用户在进入分类后,展示在用户面前的是很多很多商品,用户希望再通过筛选查询出更接近他目标的商品。于是大的电商平台优秀的产品经理为了更贴近与用户就设计了下面的产品:


用户可以通过这些筛选条件进一步缩小自己的目标范围,那么问题又来了,经过思考我们找出了一个方法,我们知道商品之间的属性可能存在着较大的差别,比如牛仔裤它有版型、腰型、裤长等属性;而电脑它有CPU、显卡等属性,各类商品的属性是不同的。再进一步想,休闲裤也版型、腰型、裤长等属性;台式电脑或者笔记本电脑都有CPU、显卡等属性。所以我们得出:一个分类对应若干属性,而一个属性,对应若干属性选项,而一个具体商品又对应若干属性选项。


从图上可以看出,分类和属性的关系、属性和属性选项的关系、商品和属性选项的关系。至此,我们知道一个商品的分类、品牌以及它有什么属性和对应的属性值。那么通过筛选条件,自然就可以查询出指定的商品。

商品模型(四)

接着我们继续完善我们的商品模型,如下图所示:


这个页面展示的商品信息,按照之前的设计好像都可以满足。但是我们似乎感觉错过了什么,在图上右边我们发现该商品当前的颜色和内存,并且允许用户可以选择其他的颜色和内存。这给我们带来了疑惑,这里的“颜色”和“内存”是什么,一件商品的不同颜色不同尺寸是算一个商品还是多个商品。经过思考后,我们发现我们混淆了两个概念——“商品”和“货品”。不同规格的货品作为独立的商品。比如一条裤子的有L尺寸、M尺寸、一个U盘有16G还是32G的,都是同样的货品,不同规格的商品。可以认为货品和商品是一对多的关系。弄清了这个概念,处理这个需求就容易多了,这里的“颜色”、“尺寸”我们就作为“规格”来处理,而红色、黑色;64GB、256GB我们视为规格的选项或者说规格值。一件货品对应若干规格,而具有某一规格值的货品就是商品。


这次好像差不多了。基于这个模型可以满足基本的商品搜索和展示的需求。搜索引擎也可以根据这个模型数据生成对应的商品索引,达到准确搜索的目的。商品模块还会和其他模块一起协作,比如用户系统、订单系统、支付系统等。一般情况下我们会把商品业务独立出来做成“商品中心”的服务,集中处理商品查询、更新、发布等业务,支撑其他业务。

总结

商品模型经过了4次演变也越来越完善 支持的业务也更多了,但是要维护起这么庞大的商品模型体系也是非常费力的。个人建议搭建商品模型体系可以一步一步来,并且现在的用户是用场景也越来越简单,如果操作太复杂会引起反感,所以在产品设计的时候根据自己情况设计出符合用户的产品出啦。

关注我们

如果需要源码可以关注“IT实战联盟”公众号并留言也可以加入交流群和作者互撩哦~~~



全部评论: 0

    我有话说:

    「轻阅读」聊一聊6种常用的架构设计模式(上)

      许多现代应用都需要在企业级规模上进行构建,有时甚至需要在互联网规模上进行构建。这些应用都需要满足可扩展性、可用性、安全性、可靠性和弹性需求。 在本文中,我将谈论一些设计模式,这些模式

    分享一个标星42.4k 的商城管理后台项目模板

    项目简介 mall项目是一套系统,包括前台商城系统及后台管理系统,基于SpringBoot+MyBatis实现,采用Docker容器化部署。 前台商城系统包含首页门户、商品推荐、商品搜索、商品

    微信小程序实战-商品详情(上)

    先看一下今天要实现的小程序商品详情页吧!

    微信小程序实战-首页(上)

    上一:微信小程序实战-入门 嗨,大家好!经过近两周的精心准备终于开始微信小程序实战之路喽。那么最终会做成什么样呢?好了,不啰嗦了 我们先看首页长什么样吧!   首页效果图

    微信小程序微商城(三):首页福利专场无限下拉刷新动态API数据实现

    首页第5个模块-福利专场,通过https调用API数据模型实现无限下拉刷新......

    微信小程序实战商品属性联动选择(案例)

    本期的微信小程序实战来做一个网站经常用到的-商品属性联动选择的效果,素材参考了一点点

    微信小程序实战-首页(下)

    上一:微信小程序实战-首页(上)好了,上一期我们把首页搜索、导航栏和广告轮播给做完了,那么接下来会继续

    微信小程序实战-入门

    小程序开发工具有新版本更新啦!开发体验更好了,接下来一起为小程序做一下准备前期准备工作~~

    微信小程序实战-商品详情加入购物车(下)

    今天会接着上一开始写商品详情页加入购物车的部分,直接看效果......

    微信小程序实战-商品列表流式布局

    今天给大家分享一下微信小程序中商品列表的流式布局方式,根据文章内容操作就可以看到效果哦~~~

    微信小程序实战-购物车(上)

    好久没更新小程序实战的文章了,是因为最近一直做整体架构调整,一些准备工作也是比较耗费时间的。在这几天将会有新版的 小程序教程推出.......

    「免费」千万级高并发秒杀实战

    IT老齐 16年Java研发架构设计经验、前京东金融架构师、中国财政部数据平台架构师、专注送给小白的实战课、只为高薪而生、重实战,说人话,讲干货,不扯淡!

    微信小程序微商城(四):动态API实现商品详情页(上)

    1、实现商品详情页面布局(这实现3个模块,头部商品图片轮播、商品价格和商品描述、商品详情展示) 2、根据用户点击不同的商品请求API动态加载数据

    微信小程序微商城(二):首页轮播、分类导航和新品特卖实现

    本案例所有模块都为https动态调用API数据服务获得

    微信小程序实战-购物车(下)

    我们继续接着昨天的购物车写,主要把剩下的数量加减 template 模板、选中计算功能实现掉!

    DDD 微服务落地实战

    PS:让我们把DDD的思想真正落地,从数据库设计到代码实战演练,从、在线订餐 到智慧医疗全方位展示如何运用DDD 在微服务+人工智能、嵌入式+物联网的项目中进行业务建模、系统规划设计实践

    微信小程序-template使用:实现购物车商品数量加减功能

    上一我们实现了购物车功能,里面有用到template模板功能来实现购物车商品数量加减和价格计算功能......

    「转载」使用DDD指导业务设计的一点思考

    领域驱动设计(DDD) 是 Eric Evans 提出的一种软件设计方法和思想,主要解决业务系统的设计和建模。DDD 有大量难以理解的概念,尤其是翻译的原因,某些词汇非常生涩,例如:模型、限界上下文

    Node实战:使用joi来验证数据模型 (十)

    Joi 是 hapijs 自带的数据校验模块,他已经高度封装常用的校验功能,本文就是介绍如何优雅地使用 joi 对数据进行校验......