今天模仿手机商城的时候, 大胆想出了使用集合'嵌套'
private List<List<Xxx>> xxx; // 两个不确定 (第一层属性不确定, 第二层属性不确定)
场景:
首页展示出不同的大类, 像iphone 6s, 华为8x, vivo10等这种大分类
点击一个大分类, 进去展示出不同颜色, 套餐, 配置等的小分类
注: 只要有一点不同, 就是一种小分类, 比如颜色有3种, 套餐有2种, 配置有3种, 则小分类就有3*2*3种(一种小分类有一个编号)
一种小分类可能有不同的赠品或套餐携带物品(以下统称小物件)
比如编号为201805121201的手机赠送某耳机
编写为201805121202的手机赠送某手机保护壳和某运动手环
意思是每种手机可能有不同的小物件(如果某种手机销量差, 可以考虑增加赠品来促销)
这中间的关系链其实是比较复杂的, 想表示清楚并不容易
思路:
根据面向对象的想法, 将手机设计成类型
小物件也设计成类型
小物件是与手机关联的, 所以将小物件设计为手机的属性
因为一部手机关联的小物件的各类是不确定的, 所以将小物件设计为手机的集合属性
对于某种小物件, 它可能有不同的颜色, 所以还要使用集合表示(这个最难理解)
如下示意图就明白了
荣耀v10 -- 某种品牌手机(一个手机对象)
运动手环/硅胶保护壳/... -- 赠品大类(不确定有多少种赠品, 根据查询得出)
黑.红...运动手环 / 黑.白.青...硅胶保护壳 / ... -- 细化赠品(不确定每种赠品有多少个小类, 根据查询得出)
所以做如下属性设计是比较合理的:
&#