后台作用: 商品管理(上传商品,删除商品-à上架,秒杀,打折à售卖价格,提供丰富的查询)
ArrayList或者HashMap做商品管理后台
后台功能: 增删改查
考虑思路:
采用开发方式: 面向接口开发方式
定义接口---à抽象类--à类--à主程序
商品管理: 商品增删改查
接口: 商品管理接口(管理商品类-à只是有getter或者是setter的方法类,这个特殊类 java bean )
方法:
add_goods 增加商品,商品的各种名称(商品编号,商品价格,商品名称,商品分类,商家名称)
用户输入: 商品名称(有意义的说明)---à值(说明的情况),凡是有名称和值对应关系,这种考虑key-value(键---值),达到这种对应关系,类型--àHashMap类型。或者类(属性,方法)-à类属性--à值 ,把属性封装, 封装后私有化,某些属性可以getter,setter
需要商家输入上架商品的内容,这里获取内容,必然有参数,参数就是商品类。
del_goods 删除商品(提供便利的删除,批量删除)
传入商品的编号(id)单个商品的删除
update_goods 修改商品
虽然用户输入的商品编号,用户一次性修改所有的项,传入的内容即有编号,也有各种修改内容,(商品类)
根据商品编号,修改商品相关名称,修改价格
查(有不同的条件)
按照商品名称 search_name 用户选择一个名称,需要参数 多个商品,不需要去重.
按照价格 search_price 用户选择区间,需要两个参数
查询所有 search_all 不需要传参
按编号查 search_no 一个商品
建接口文件—>商品管理文件(增删改查)
建立类文件—>商品类(封装属性的java bean)
商品管理操作就是增删改查,实质是产生变化的商品内容,使用列表ArrayList,如果店家上传了商品,重复的商品,至少商品的编号是不能重复的,商品类中不能重复的是商品编号,商品编号唯一表征商品的.ArrayList是不可以去重的,这里的去重只能按照商品编号去重,不能把对象放在一起去重。
(思路:把商品按商品编号去重,不能按商品的全部信息去重,保证编号和商品对应,这里有两个对应关系:编号---à对应--à商品,解决对应关系,key就是编号,value就是商品 ,HashMap的key自动去重 )
ArrayList在商品管理类中,添加后根据商品编号去重,建立HashMap,去重后把商品放在ArrayList中。
整个商品管理交给HashMap管理,保证每个商品都可以按编号去重,还可以把多个商品组织起来,最后查询的结果可以放在ArrayList中.
删除直接按商品id删除即可ArrayList删除,删除remove按key来删,ArrayList中的remove按索引来删,最好的方法把key和索引联系起来,删除起来效率高。
更新操作按照key找这个元素,直接修改,做删除把key找到索引,用户输入key,就知道索引,修改内容只要调用索引。不需要遍历。
查询:按商品名称,遍历商品名称是否有内容。
HashMap{名称:商品}
查询:按商品价格, 遍历商品价格,符合条件列出。
查询:按唯一内容查,都可以HashMap中的key
这里只有一个商品管理,每个逻辑都必须实现,这里暂不加入抽象类,如果多个模块整合,很有可能抽象类.先开发添加商品,添加商品后显示所有商品.
整个商品管理交给HashMap管理,保证每个商品都可以按编号去重,还可以把多个商品组织起来,最后查询的结果可以放在ArrayList中.
完整代码——> 码云:电商平台后台商品管理 · Dave/萧大夫 - 码云 - 开源中国 (gitee.com)