猿实战是一个原创系列文章,通过实战的方式,采用前后端分离的技术结合SpringMVC Spring Mybatis,手把手教你撸一个完整的电商系统,跟着教程走下来,变身猿人找到工作不是问题。想要一起实战吗?关注公号获取基础代码,大家一起码!
上一章节,猿人君教会了你一个不一样的地址管理,体验了代码生成器。一点一点引导你去设计和实现地址管理的功能模块。
今天,猿人工厂君就带你来一步一步实现,电商系统中,属于基石地位的模块——属性库。
寻找系统中的基石
在聊属性库之前,我们先来聊一聊,为什么说属性库在系统中处于基石地位?
每一个系统,都有自己独有的业务,在大家的职业生涯中,会去搭建各式各样的系统,而不是仅仅去搭建电商系统。猿人君真心希望大家学习电商系统的搭建之后,能够触类旁通,有能力肚子搭建属于你自己的系统。
在搭建系统的过程中,你会慢慢的发现一个有意思的事情,有些模块,它负责提供系统的基础数据,粒度很小,但是,系统中的其它数据却是通过这些粒度很小的数据,去变化成为了系统内的核心数据。
比如,我们今天要去搭建的属性库模块,就具备这样的特性——电商系统最终的目的是售卖商品,而商品是由什么来组成的呢?
你看,对于一件衣服而言,有“颜色”和“尺码”,对于手机而言,也有“颜色”和“版本”之分。你去看不同的商品,你会发现会有各式各样的用于区分商品特性的东西。
这类用于描述和区分商品特性的东西,很繁杂,他们可能具有不同的含义,比如“版本”,有64G\128G\256G之分。我们给颜色和版本定义了一个抽象的名字——就叫做属性,而64G\128G\256G这样的含义,就是属性值。
越是观察商品,你越会明白一个道理,商品的构成有这样一个简单的关系:
一个个属性值和属性,就像沙粒一样堆砌,最终形成一个集合去描述商品,属于描述商品的最基本的元素。
像这样的元素,就是你系统中最基本的元素,像这样的模块,就是你系统中的基石模块。系统的核心数据往往就是这样由小而大,聚沙成塔,通过寻找系统中的基数元素,能够让你更容易的去搭建属于你自己的系统。
功能概览
在之前的文章猿设计6——真电商之属性的套路你了解吗中,我们其实已经分析过属性库的设计了,接下来我们一起看看,根据这些设计整理出来的一些功能。
在属性库模块中,