一、背景
本文我们以某商城的商品检索为例,说一说如何使用属性及选项,实现复杂的逻辑表达式的查询。
先贴图,总结出业务需求。
可以通过一系列属性及选项的组合,过滤出用户想要的商品列表。
1、属性
上文中的品牌、分类、屏幕尺寸、CPU型号、运行内存、机身内存、屏幕材质、电池容量、特征特质、成色、充电功率、后摄主像素、机身色系等,就是手机的属性。
不同的实体,总结出自己的属性库,并且它可以是动态维护的。也就是说,随着业务的需求变化,属性库是会变化的,而且不能致使程序大改。
假设要新支持屏幕分辨率的过滤,那么只需要对新增屏幕分辨率这一属性。
2、选项
以屏幕分辨率这一属性为例,可能有以下选项。
同理,品牌可能有多种,每一种具体的品牌就是这里说的选